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

到此这篇关于VSCode + WSL 2 + Ruby环境搭建图文详解的文章就介绍到这了,更多相关VSCode WSL 2 Ruby环境搭建内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

php强类型 vscode,VSCode + WSL 2 + Ruby环境搭建图文详解相关推荐

  1. 服务器php环境搭建教程,PHP服务端环境搭建图文详解

    PHP环境搭建也是一门技术,本文主要为大家分享一篇PHP服务端环境搭建的图文教程,具有很好的参考价值,希望对大家有所帮助. 一.PHP服务端环境搭建 1.php 服务端环境 安装套件 xampp(ap ...

  2. vscode配置C++环境(图文详解)

    步骤: 一.安装C/C++ Runner插件 二.安装编译器 三.设置环境变量 四.helloworld ----------------------------------------------- ...

  3. php mac 开发环境搭建_Mac搭建php的开发环境(图文详解)

    搭建php的开发环境(图文详解) 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要 ...

  4. 【必知必会】手把手教你配置MySQL环境变量——图文详解

    一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...

  5. 基于windows子系统WSL2搭建openharmony开发环境(图文详解)

    WSL(Windows Subsystem for Linux)是Microsoft弄出来的windows下的linux子系统,主要目的也就是为了给开发者提供便利,抢占macOs的市场.想必大家对它都 ...

  6. react结合ts与mobx环境搭建步骤详解

    由于react ts mobx 版本上的更新,一些配置信息也在随时更新,使得有时候,在更新版本时,一些配置文件出错,让我们措手不及,现将三者环境搭建配上,废话不多说 思路:新建react 应用,利用弹 ...

  7. Visual Studio集成Qt环境搭建_详解与测试

    1.利器≠戾气 接了两个项目,而这两个项目说起来也很有意思. 一个是监护仪软件开发,要求利用MFC进行开发,因为在此之前接近两年时间一直进行MFC开发:来到清华后,碰到了好多的计算机编程大牛,就GUI ...

  8. 手动angular2环境搭建_详解.Net Core + Angular2 环境搭建

    本文介绍了.Net Core + Angular2 环境搭建,具体如下: 环境搭建: 1)node.js版本>5.0,NPM版本>3.0,TypeScript版本>2.0(全装最新版 ...

  9. Linux下服务器基本环境搭建步骤详解(三种软件安装方式)

    Linux下服务器基本环境搭建 小伙伴们注意看:下面使用三种方式分别安装JDK.Tomcat.Docker进行演示 操作系统基于CentOs7. 文章目录 Linux下服务器基本环境搭建 前言 一.L ...

最新文章

  1. “学了半年后,我要揭开Python 3宗罪!”
  2. 禁止ping入自己的主机
  3. 大数据 清华 覃征_清华大学人工智能研究院大数据智能研究中心揭牌,喊你来参与...
  4. R语言入门4---R语言流程控制
  5. 搜狗输入法电脑版_搜狗输入法上线墨水屏定制版
  6. 平均值(Mean)、方差(Variance)、标准差(Standard Deviation)
  7. 绝大多数人努力程度之低,根本轮不上拼天赋
  8. 最详细的Java入门完整教程,学Java先收藏了!
  9. 《算法导论》2.2练习答案
  10. 视频教程-Dreamweaver初级从入门到精通,掌握网页制作-Dreamweaver
  11. Mac读写ntfs磁盘工具:Paragon NTFS for Mac
  12. 学计算机发朋友圈文案,2020开学发朋友圈文案句子精选100句
  13. NUC搭建Centos8服务器
  14. 程序员面试中一面、二面、三面有什么区别?
  15. java基于微信小程序的英语学习激励系统-计算机毕业设计
  16. 个人的工作总结(和工作规划)
  17. 网络重置后WLAN网络找不到怎么办?
  18. Access denied for user ‘root‘@‘localhost‘
  19. python 猪八戒网接单_python接单平台简单整理
  20. ARouter 源码解析(零) 基本使用

热门文章

  1. 七牛云php20m文件上传不了,七牛云存储 - 用php上传图片,我在本地测试,用php 接口,不成功...
  2. 启动rocketmq 报错_RocketMQ为什么要保证订阅关系的一致性?
  3. 背包问题 贪心算法 java_JS基于贪心算法解决背包问题
  4. java项目遇到的问题_java系列:项目中遇到的一些问题(持续更新中)
  5. php-cli下载,php-cli-color
  6. 事件绑定on与hover事件
  7. attr和prop的区别以及在企业开发中应该如何抉择
  8. 如何用纯 CSS 创作一盘传统蚊香
  9. chrome 开发者工具,查看元素 hover 样式
  10. Codeforces Global Round 2 D. Frets On Fire (动态开点线段树,沙雕写法)