LoginSignup
68
61

More than 3 years have passed since last update.

VSCodeでRubyを書く準備

Last updated at Posted at 2019-07-11

Rubyを書き始めるにあたり、WebStormからVSCodeに完全移行しました。RubyMineまで買えない :money_with_wings:
1年半ほど前に使ったときは、動作がモッタリしてるな〜という印象でしたが(Sublimeが軽快すぎて)
今使ってみると結構さっくさくになってる!快適!
(ちなみにキーバインドはSublimeのバインドがそのまま使えて助かりました。癖ってなかなか変えられないですね...)

拡張機能 「Ruby」 をインストール

拡張機能検索で「ruby」と打てば1番上にでてきます。
Ruby言語に関して、デバッガー、Linter、自動補完など大体のことをカバーしてくれる必須拡張機能です。
この拡張機能の設定をしていきます。

Linter

スタイルガイドに沿わない汚いコードを怒ってほしい!のでlinterをいれます。

こんな感じ
Pasted_Image_2019_07_11_22_29.png
linterは rubocop にしました。
まずgemをグローバルインストールします。

$ gem install rubocop

デフォルトではlinterはオフになっているので、 VSCodeの settings.json で設定を書き加えます。

settings.json
"ruby.lint": {
  "rubocop": true
},


settings.json の開き方
⌘+, でGUIの設定画面を開き、右上のカッコ記号をクリックで切り替えられます
Settings_—_cl-bandai-brappers.png

以上!

もしエラーがでてたらVSCodeを再起動orリロードするか、それでもだめならパスの問題かもしれないです。
[Mac]VScode で ruby-rubocop が動かなくなったら executePath を設定してみよう - Qiita

より詳しい設定をしたい場合は、 .rubocop.yml ファイルに書いていきます。
RuboCopの設定アレコレ - Qiita

Formatting

手動でインデント揃える鬼畜作業はしたくないので、
ファイルを保存したときに自動一括整形するようにします。
formatterは最初rufoを入れてましたが、シングルクオート設定ができないみたいだったのでこちらもrubocopを使います。

settings.json
"[ruby]": {
  "editor.formatOnSave": true
},
"ruby.format": "rubocop",
"editor.formatOnSaveTimeout": 5000

RubyのREADMEにはタイムアウト時間を1500にしてねと書いてありますが、
1500だと足りないみたいです(ここではまったw)
cf. visual studio code - vscode( vscode-ruby + rubocop ) how to auto correct on save? - Stack Overflow

あとは拡張機能から 「endwise」 も入れておけばひとまず満足しました。
物足りなくなってきたらまた拡張していこうと思います :smiley:

68
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
61