【mac】vscodeでRubyを快適に書くための拡張機能の追加

【mac】vscodeでRubyを快適に書くための拡張機能の追加

こんにちは、今回はMicrosoftが開発したソースコードエディタである「Visual Studio Code」を使って、Rubyを書くための拡張機能の導入を行います。

動作環境

macOS Catalina 10.15.4
ruby 2.7.1

Rubyのインストールについては別記事で解説しております。

【mac】Ruby on rails 6 + PostgreSQL 開発環境構築

VScodeのインストール

下記のサイトから「Download for Mac」をクリックしてダウンロードを行います。
https://code.visualstudio.com/

VScodeを立ち上げたら、左のサイドバーの一番下にあるアイコンをクリックすると様々な拡張機能をMarketplaceから検索してインストールできます。

拡張機能のインストールと設定

導入予定の拡張機能は以下の通りです。

  • Ruby
  • VScode Ruby
  • Ruby Solargraph

Ruby

公式リポジトリの特徴の説明は以下の通りです。(翻訳)

rvm、rbenv、chruby、およびasdfをサポートするRuby環境の自動検出
RuboCop、Standard、およびReekによるLintサポート
RuboCop、Standard、Rufo、およびRubyFMTによるフォーマットのサポート
セマンティックコードフォールディングサポート
セマンティックハイライトのサポート
基本的なIntellisenseサポート

https://github.com/rubyide/vscode-ruby/blob/master/packages/vscode-ruby-client/README.md

デバック機能や構文解析をリアルタイムに行えるLinterがVScode上で使えるようになるってことですね。
インストールすると シンタックスハイライトサポートするVScode Rubyも合わせてインストールされます。
必要になgemをインストールしましょう。

gem install rubocop
gem install ruby-debug-ide
gem install debase
gem install ruby-lint
gem install reek
gem install faster
gem install debride

Ruby Solargraph

こちらも公式リポジトリの説明を読んでみましょう。

Rubyコアのコンテキスト対応の提案とドキュメント
いくつかの変数タイプとメソッドの戻り値の検出(例:String.new.Stringインスタンスメソッドを返します)
現在のスコープ内のローカル変数、クラス変数、およびインスタンス変数の識別
参照を見つけてシンボルの名前を変更します(solargraph gem v0.22.0の時点で実験的)
gemのサポート
Rubyコアとstdlibのほぼ完全なサポート
Ruby on Railsの部分的なサポート

https://github.com/castwide/vscode-solargraph

自動補完やドキュメント参照ができるようになるみたいです。
こちらも必要なgemをインストールしましょう。

gem install solargraph

settings.jsonを設定する

vscodeのconfigの設定についてRubyの導入例では、bundlerを使う記述がされていますが、私はグローバルにインストールされているgemを利用するので以下のようにしました。(settings.json)

{
  "ruby.format": "rubocop",
  "ruby.intellisense": "rubyLocate",
  "ruby.locate": {
      "exclude": "{**/@(test|spec|tmp|.*),**/@(test|spec|tmp|.*)/**,**/*_spec.rb}",
      "include": "**/*.rb"
  },
  "ruby.useLanguageServer": true,
  "solargraph.formatting": true,
  "solargraph.autoformat": true,
  "solargraph.diagnostics": true,
}

動作確認

それではVScodeを再起動していくつかの機能を確認してみます。

適当なフォルダとrubyファイルを作ります。

mkdir test
touch test.rb

作成したファイルをVScodeで開き、適当にコードを書いてます。

rubocopの確認とSolagraphの補完が効いてることが確認できました。

今回はRubyに特化して拡張機能をインストールしましたが、
他にもプログラミングを行う上で必須とも言える拡張機能がたくさんあると思います。
私は以下の記事を参考にしながら導入してみました。

VSCode に必ず入れておきたい拡張機能

今後も使えそうな拡張機能があればどんどん導入していきたいと思います。