Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
56
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@ovrmrw

WindowsのVSCodeでRubyを書きたい。そしてインテリセンスも欲しい。

Visual Studio Code Advent Calendar 2016 に未投稿枠があったのでねじ込みました。ちきさんです。

Windows 7 Pro 32bitでRuby環境を構築したのでメモを残します。

要件

  • WindowsでRubyを書きたい。
  • VSCodeで書きたい。
  • Lintも欲しい。
  • IntelliSense(AutoComplete)も欲しい。

Visual Studio Code で Ruby を何とかして書けるようにする がとても参考になりました。

ダウンロード

RubyInstaller for Windows で下記をダウンロード。

  • Ruby (rubyinstaller-2.2.6.exe)
  • Development Kit (DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe)

いずれも32bit用。

(追記)
Windows 10 Pro 64bitでも試しましたが、64bit用RubyとDevelopment Kitではインテリセンスが動きませんでした。なので64bit Windowsであっても32bit用のRubyとDevelopment Kitをインストールすることをお勧めします。

インストール

Rubyをインストール。

C:\Ruby22 にインストールされるので、 C:\Ruby22\bin にPATHを通す。
そして再起動。


コマンドプロンプトを開いて ruby にPATHが通っていることを確認する。

  • $ ruby --version
  • OUTPUT: ruby 2.2.6p396 (2016-11-15 revision 56800) [i386-mingw32]

gemとか

Development Kitを解凍し、 C:\RubyTools フォルダを作って全ファイルを配置する。

コマンドプロンプトを開いて

  • $ cd C:\RubyTools
  • $ ruby dk.rb init
  • C:\RubyTools\config.yml- C:/Ruby22 の記述があることを確認する。
  • $ ruby dk.rb install
  • $ gem install ruby-debug-ide debase ← VSCodeのRubyエクステンションに必要
  • $ gem install reek rubocop fasterer debride ruby-lint ← Lintに必要。全て必要かどうかはわからない。
  • $ gem install rcodetools ← AutoCompleteに必要
  • $ gem install fastri ← rcodetoolsインストール時に追加インストールを推奨される

VSCode

VSCodeにRubyエクステンションをインストール。

ユーザー設定で下記を追加。

settings.json
  "ruby.lint": {
    "reek": true,
    "rubocop": true,
    "ruby": false, //Runs ruby -wc
    "fasterer": true,
    "debride": true,
    "ruby-lint": true
  }

全て必要かどうかはわからないけど、"ruby": falsetrueにしない方が良い。なぜなら文字列に全角文字を使っただけでエラーにされるから。

ここで念のため再起動。

動作確認

適当なrubyファイル(*.rb)を作り [1,2,3].e と入力したときに入力候補が表示されればOK。

ruby_intellisense.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
56
Help us understand the problem. What are the problem?