VSCode+WSL2+Ruby环境搭建图⽂详解
vscode配置ruby开发环境
vscode近年来发展迅速,⼏乎在3年之间就抢占了原来vim、sublime text的很多份额,犹记得在2015-2016年的时候,ruby推荐的开发环境基本上都是vim和sublime text,然⽽,随着vscode的发
展,vscode下ruby的开发体验已经⾮常不错。现在基本上使⽤win 10 wsl2 + vscode + windows terminal的体验已经不逊于mac + vim (sublime) + item 2的体验了
总体步骤
使⽤win10专业版配置ruby开发环境⼤致分为以下⼏步:
开启win10 wsl功能
升级wsl2
安装ubuntu
安装ruby(rvm)
安装vscode
安装vscode wsl扩展
安装vscode ruby相关扩展
经过以上7步就可以开始愉悦的ruby开发了,再开始之前,可以先看个效果图。
1. 开启win10 wsl功能
ruby对Linux和Mac⽐较友好,在windows下很多第三⽅库要配合mingw或msys2才能安装,不过好在windows 10提供了Linux⼦系统,在win10 2004版本中wsl也升级到了wsl2,速度更快,功能更完善。要使⽤wsl2需要先在控制⾯板中开启wsl功能:
适⽤于Linux的Windows⼦系统
虚拟机平台
2. 升级wsl2
⽬前wsl2还需要安装⼀个内核升级包,具体可参考微软说明:
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的安装可参考如下⽹站:
RVM官⽹
RVM实⽤指南
通过APT安装,输⼊下列命令即可
sudo apt install ruby ruby-dev ri ruby-bundle
安装完成以后需要配置gem国内镜像,参考如下⽹址:
gem中⽂镜像
输⼊下列命令
# 设置gem source
gem sources --add gems.ruby-china/ --remove /
# 查看gem source
gem sources -l
# 设置bundle
bundle config mirror. gems.ruby-china
5. 安装vscode
vscode直接在官⽹下载安装即可,这⾥我选择了System Installer
vscode官⽹下载页⾯
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进⾏开发了
vscode使⽤
在使⽤上基本只要require了相应的库,就solargraph就会对require的库中涉及的类和模块进⾏提⽰,⾮常⽅便。唯⼀有问题的地⽅就是require的时候没有提⽰,这可能就需要⾃⼰记⼀下库的名称,不过相⽐于原来已经好太多了,应该说在可以接受的范围内。
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是动态强类型语⾔,由于不需要指定函数返回值类型,这导致IDE⽆法⾃动推断⼀些变量的类型。⽬前Python、PHP、TypeScript都在不断的强化类型以⽅便IDE进⾏静态检查。IDE只有在知道类型的情况下才能准确地进⾏智能提⽰。
在ruby 2当中,我们可以通过类型注释的⽅式增强IDE推断能⼒。常见的类型注释可参考YARD项⽬
下⾯代码给出了⼀些⽰例。
require 'socket'
server = w 2000
loop do
# 代码块参数类型注释
# @param {TCPSocket} client
Thread.start(server.accept) do |client|
client.puts 'hello !'
client.puts "Time is #{w}"
client.close
end
end
server = w 2000
loop do
# 变量注释
# @type {TCPSocket} client
client = server.accept
end
# 函数参数和返回值注释,数组类型
# @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])
rubyinstaller包解压后怎么安装
break
end
end
result
end
到此这篇关于VSCode + WSL 2 + Ruby环境搭建图⽂详解的⽂章就介绍到这了,更多相关VSCode WSL 2 Ruby环境搭建内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。