首页 科技正文

欧博会员开户:VSCode + WSL 2 + Ruby环境搭建详解

admin 科技 2020-07-25 31 1

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开发环境大致分为以下几步:

  1. 开启win10 wsl功效
  2. 升级wsl2
  3. 安装ubuntu
  4. 安装ruby(rvm)
  5. 安装vscode
  6. 安装vscode wsl扩展
  7. 安装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

欧博会员开户:VSCode + WSL 2 Ruby环境搭建详解 第1张

其中,ruby solargraphrubocop除了安装扩展,还需要通过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即可

欧博会员开户:VSCode + WSL 2 Ruby环境搭建详解 第2张

2. rubocop若何使用?

rubocop是一个Ruby Lint工具,可以举行Ruby代码气概检查,并能够自动修复,只需要Ctrl + Shift + P,选择Ruby: autocorrect by rubocop即可

欧博会员开户:VSCode + WSL 2 Ruby环境搭建详解 第3张

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
,

欧博APP下载

欢迎进入欧博APP下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

版权声明

本文仅代表作者观点,
不代表本站Allbet的立场。
本文系作者授权发表,未经许可,不得转载。

评论

精彩评论
  • 2020-07-25 00:06:33

    UG环球欢迎进入环球UG官网(UG环球):www.ugbet.us,环球UG官方网站:www.ugbet.net开放环球UG网址访问、环球UG会员注册、环球UG代理申请、环球UG电脑客户端、环球UG手机版下载等业务。高智商高情商啊