vscode配置ruby開發(fā)環(huán)境
vscode近年來發(fā)展迅速,幾乎在3年之間就搶占了原來vim、sublime text的很多份額,猶記得在2015-2016年的時候,ruby推薦的開發(fā)環(huán)境基本上都是vim和sublime text,然而,隨著vscode的發(fā)展,vscode下ruby的開發(fā)體驗已經(jīng)非常不錯?,F(xiàn)在基本上使用win 10 wsl2 + vscode + windows terminal的體驗已經(jīng)不遜于mac + vim (sublime) + item 2的體驗了
總體步驟
使用win10專業(yè)版配置ruby開發(fā)環(huán)境大致分為以下幾步:
- 開啟win10 wsl功能
- 升級wsl2
- 安裝ubuntu
- 安裝ruby(rvm)
- 安裝vscode
- 安裝vscode wsl擴展
- 安裝vscode ruby相關擴展
經(jīng)過以上7步就可以開始愉悅的ruby開發(fā)了,再開始之前,可以先看個效果圖。

1. 開啟win10 wsl功能
ruby對Linux和Mac比較友好,在windows下很多第三方庫要配合mingw或msys2才能安裝,不過好在windows 10提供了Linux子系統(tǒng),在win10 2004版本中wsl也升級到了wsl2,速度更快,功能更完善。
要使用wsl2需要先在控制面板中開啟wsl功能:
- 適用于Linux的Windows子系統(tǒng)
- 虛擬機平臺

2. 升級wsl2
目前wsl2還需要安裝一個內(nèi)核升級包,具體可參考微軟說明:
wsl2安裝說明
wsl2 update包
更新包安裝完成后,輸入命令
wsl --set-default-version 2
3. 安裝Ubuntu
在微軟應用商店安裝Ubuntu,當前Ubuntu版本為20.04 LTS
安裝完成以后,配置Ubuntu默認為wsl2
# 查看
wsl --list --verbose
# 設置
wsl --set-version Ubuntu 2
4. 安裝ruby
在Linux下安裝ruby有多種方法,比較主流的方法是RVM,不過為了簡單起見,我直接通過ubuntu的apt工具進行了安裝。
關于RVM的安裝可參考如下網(wǎng)站:
RVM官網(wǎng)
RVM實用指南
通過APT安裝,輸入下列命令即可
sudo apt install ruby ruby-dev ri ruby-bundle
安裝完成以后需要配置gem國內(nèi)鏡像,參考如下網(wǎng)址:
gem中文鏡像
輸入下列命令
# 設置gem source
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
# 查看gem source
gem sources -l
# 設置bundle
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
5. 安裝vscode
vscode直接在官網(wǎng)下載安裝即可,這里我選擇了System Installer
vscode官網(wǎng)下載頁面
6. 安裝vscode wsl擴展
vscode安裝完成以后,可以在plugin中找到Remote - WSL擴展,點擊安裝即可

7. 安裝vscode ruby相關擴展
直接在plugin中搜索ruby在wsl中安裝下列五個擴展即可
- Peng Lv/Ruby
- Castwide/Ruby Solargraph(Language Server)
- misogi/ruby-rubocop(Lint)
- Simple Ruby ERB
- endwise

其中,ruby solargraph
和rubocop
除了安裝擴展,還需要通過gem安裝第三方包
sudo gem install rubocop
sudo gem install solargraph
重新加載vscode-wsl就可以愉快的使用ruby language進行開發(fā)了
vscode使用
在使用上基本只要require了相應的庫,就solargraph就會對require的庫中涉及的類和模塊進行提示,非常方便。唯一有問題的地方就是require的時候沒有提示,這可能就需要自己記一下庫的名稱,不過相比于原來已經(jīng)好太多了,應該說在可以接受的范圍內(nèi)。
1. 如果安裝了新的第三方庫會提示嗎?
如果安裝了sinatra這樣的庫,vscode-ruby如何給出提示呢?只需要Ctrl + Shift + P,選擇solargraph: build new gem documention
即可

2. rubocop如何使用?
rubocop是一個Ruby Lint工具,可以進行Ruby代碼風格檢查,并能夠自動修復,只需要Ctrl + Shift + P,選擇Ruby: autocorrect by rubocop
即可

3. 常用類型注釋
ruby是動態(tài)強類型語言,由于不需要指定函數(shù)返回值類型,這導致IDE無法自動推斷一些變量的類型。目前Python、PHP、TypeScript都在不斷的強化類型以方便IDE進行靜態(tài)檢查。IDE只有在知道類型的情況下才能準確地進行智能提示。
在ruby 2當中,我們可以通過類型注釋的方式增強IDE推斷能力。常見的類型注釋可參考YARD項目
下面代碼給出了一些示例。
require 'socket'
server = TCPServer.new 2000
loop do
# 代碼塊參數(shù)類型注釋
# @param {TCPSocket} client
Thread.start(server.accept) do |client|
client.puts 'hello !'
client.puts "Time is #{Time.now}"
client.close
end
end
server = TCPServer.new 2000
loop do
# 變量注釋
# @type {TCPSocket} client
client = server.accept
end
# 函數(shù)參數(shù)和返回值注釋,數(shù)組類型
# @param {Array(Integer)} nums
# @param {Integer} target
# @return {Array(Integer)}
def two_sum(nums, target)
hash_nums = {}
result = []
nums.each_with_index do |num, index|
hash_nums[num] = index
end
nums.each_with_index do |num, index|
another = target - num
if hash_nums[another] hash_nums[another] != index
result.push(index, hash_nums[another])
break
end
end
result
end
到此這篇關于VSCode + WSL 2 + Ruby環(huán)境搭建圖文詳解的文章就介紹到這了,更多相關VSCode WSL 2 Ruby環(huán)境搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- win10下VSCode+CMake+Clang+GCC環(huán)境搭建教程圖解
- 使用 Visual Studio Code(VSCode)搭建簡單的Python+Django開發(fā)環(huán)境的方法步驟
- VsCode搭建Java開發(fā)環(huán)境的方法
- Win7環(huán)境下搭建Go開發(fā)環(huán)境(基于VSCode編輯器)