佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫(kù) > VSCode + WSL 2 + Ruby環(huán)境搭建圖文詳解

VSCode + WSL 2 + Ruby環(huán)境搭建圖文詳解

熱門標(biāo)簽:智能手機(jī) 服務(wù)器配置 鐵路電話系統(tǒng) 銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求 檢查注冊(cè)表項(xiàng) 網(wǎng)站文章發(fā)布 美圖手機(jī)

vscode配置ruby開發(fā)環(huán)境

vscode近年來發(fā)展迅速,幾乎在3年之間就搶占了原來vim、sublime text的很多份額,猶記得在2015-2016年的時(shí)候,ruby推薦的開發(fā)環(huán)境基本上都是vim和sublime text,然而,隨著vscode的發(fā)展,vscode下ruby的開發(fā)體驗(yàn)已經(jīng)非常不錯(cuò)。現(xiàn)在基本上使用win 10 wsl2 + vscode + windows terminal的體驗(yàn)已經(jīng)不遜于mac + vim (sublime) + item 2的體驗(yàn)了

總體步驟

使用win10專業(yè)版配置ruby開發(fā)環(huán)境大致分為以下幾步:

  • 開啟win10 wsl功能
  • 升級(jí)wsl2
  • 安裝ubuntu
  • 安裝ruby(rvm)
  • 安裝vscode
  • 安裝vscode wsl擴(kuò)展
  • 安裝vscode ruby相關(guān)擴(kuò)展

經(jīng)過以上7步就可以開始愉悅的ruby開發(fā)了,再開始之前,可以先看個(gè)效果圖。

1. 開啟win10 wsl功能

ruby對(duì)Linux和Mac比較友好,在windows下很多第三方庫(kù)要配合mingw或msys2才能安裝,不過好在windows 10提供了Linux子系統(tǒng),在win10 2004版本中wsl也升級(jí)到了wsl2,速度更快,功能更完善。

要使用wsl2需要先在控制面板中開啟wsl功能:

  • 適用于Linux的Windows子系統(tǒng)
  • 虛擬機(jī)平臺(tái)

2. 升級(jí)wsl2

目前wsl2還需要安裝一個(gè)內(nèi)核升級(jí)包,具體可參考微軟說明:

wsl2安裝說明

wsl2 update包

更新包安裝完成后,輸入命令

wsl --set-default-version 2

3. 安裝Ubuntu

在微軟應(yīng)用商店安裝Ubuntu,當(dāng)前Ubuntu版本為20.04 LTS

安裝完成以后,配置Ubuntu默認(rèn)為wsl2

# 查看
wsl --list --verbose

# 設(shè)置
wsl --set-version Ubuntu 2

4. 安裝ruby

在Linux下安裝ruby有多種方法,比較主流的方法是RVM,不過為了簡(jiǎn)單起見,我直接通過ubuntu的apt工具進(jìn)行了安裝。

關(guān)于RVM的安裝可參考如下網(wǎng)站:

RVM官網(wǎng)

RVM實(shí)用指南

通過APT安裝,輸入下列命令即可

sudo apt install ruby ruby-dev ri ruby-bundle

安裝完成以后需要配置gem國(guó)內(nèi)鏡像,參考如下網(wǎng)址:

gem中文鏡像

輸入下列命令

# 設(shè)置gem source
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

# 查看gem source
gem sources -l

# 設(shè)置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擴(kuò)展

vscode安裝完成以后,可以在plugin中找到Remote - WSL擴(kuò)展,點(diǎn)擊安裝即可

7. 安裝vscode ruby相關(guān)擴(kuò)展

直接在plugin中搜索ruby在wsl中安裝下列五個(gè)擴(kuò)展即可

  • Peng Lv/Ruby
  • Castwide/Ruby Solargraph(Language Server)
  • misogi/ruby-rubocop(Lint)
  • Simple Ruby ERB
  • endwise

其中,ruby solargraphrubocop除了安裝擴(kuò)展,還需要通過gem安裝第三方包

sudo gem install rubocop
sudo gem install solargraph

重新加載vscode-wsl就可以愉快的使用ruby language進(jìn)行開發(fā)了

vscode使用

在使用上基本只要require了相應(yīng)的庫(kù),就solargraph就會(huì)對(duì)require的庫(kù)中涉及的類和模塊進(jìn)行提示,非常方便。唯一有問題的地方就是require的時(shí)候沒有提示,這可能就需要自己記一下庫(kù)的名稱,不過相比于原來已經(jīng)好太多了,應(yīng)該說在可以接受的范圍內(nèi)。

1. 如果安裝了新的第三方庫(kù)會(huì)提示嗎?

如果安裝了sinatra這樣的庫(kù),vscode-ruby如何給出提示呢?只需要Ctrl + Shift + P,選擇solargraph: build new gem documention即可

2. rubocop如何使用?

rubocop是一個(gè)Ruby Lint工具,可以進(jìn)行Ruby代碼風(fēng)格檢查,并能夠自動(dòng)修復(fù),只需要Ctrl + Shift + P,選擇Ruby: autocorrect by rubocop即可

3. 常用類型注釋

ruby是動(dòng)態(tài)強(qiáng)類型語言,由于不需要指定函數(shù)返回值類型,這導(dǎo)致IDE無法自動(dòng)推斷一些變量的類型。目前Python、PHP、TypeScript都在不斷的強(qiáng)化類型以方便IDE進(jìn)行靜態(tài)檢查。IDE只有在知道類型的情況下才能準(zhǔn)確地進(jìn)行智能提示。

在ruby 2當(dāng)中,我們可以通過類型注釋的方式增強(qiáng)IDE推斷能力。常見的類型注釋可參考YARD項(xiàng)目

下面代碼給出了一些示例。

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

到此這篇關(guān)于VSCode + WSL 2 + Ruby環(huán)境搭建圖文詳解的文章就介紹到這了,更多相關(guān)VSCode WSL 2 Ruby環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • win10下VSCode+CMake+Clang+GCC環(huán)境搭建教程圖解
  • 使用 Visual Studio Code(VSCode)搭建簡(jiǎn)單的Python+Django開發(fā)環(huán)境的方法步驟
  • VsCode搭建Java開發(fā)環(huán)境的方法
  • Win7環(huán)境下搭建Go開發(fā)環(huán)境(基于VSCode編輯器)

標(biāo)簽:滄州 新疆 河南 樂山 沈陽 紅河 上海 長(zhǎng)治

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VSCode + WSL 2 + Ruby環(huán)境搭建圖文詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    桦川县| 德清县| 安康市| 铜川市| 玉环县| 天镇县| 航空| 镇安县| 十堰市| 佛学| 西安市| 巴彦淖尔市| 洞口县| 哈尔滨市| 安仁县| 平凉市| 通渭县| 大同县| 文化| 永清县| 兰西县| 汉川市| 普安县| 庆云县| 龙山县| 湘乡市| 东至县| 博客| 小金县| 曲水县| 景洪市| 桦甸市| 融水| 晴隆县| 龙口市| 得荣县| 车致| 临漳县| 手游| 绍兴县| 濮阳县|