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 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直接在官网下载安装即可,这里我选择了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 = TCPServer.new 2000 loop do # 代码块参数类型注释 # @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 # 函数参数和返回值注释,数组类型 # @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
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- dnf110版本刃影装备搭配
- 短剧《跟着微短剧去旅行》开机仪式在贵阳举行
- 你要是哭的话我就不听你说了,本来就和我没关系。
- 【游新视界】《印蒂卡》试玩 修女与撒旦的送信之旅
- [ABC]纯音乐发烧试音碟《开盘母带试音极品(6N纯银版)》[WAV+CUE]
- [ABC]圣路易诹坊太古社《响鼓》[6N纯银镀膜][正版低速原抓WAV+CUE]
- [ABC]《当·威廉姆斯发烧精选[6N纯银镀膜]》[正版低速原抓WAV+CUE]
- 空包叫花鸡店主称临时工错拿样品:目前已停售
- 成绩出色!托比版《蜘蛛侠》三部曲重映票房320万美元
- 风水轮流转!《地狱潜者2》单日获近3万好评
- 新手入坑指南推荐,新手战力养成指南介绍
- 原画壁纸及美图第211期,无水印可自取
- 原画壁纸及美图第211期,无水印可自取
- 王中平.2006-平凡的幸福【麻辣唱片】【WAV+CUE】
- 金城武.1996-精选集Memories【EMI百代】【WAV+CUE】