【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環境の自動検出
https://github.com/rubyide/vscode-ruby/blob/master/packages/vscode-ruby-client/README.md
RuboCop、Standard、およびReekによるLintサポート
RuboCop、Standard、Rufo、およびRubyFMTによるフォーマットのサポート
セマンティックコードフォールディングサポート
セマンティックハイライトのサポート
基本的なIntellisenseサポート
デバック機能や構文解析をリアルタイムに行える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コアのコンテキスト対応の提案とドキュメント
https://github.com/castwide/vscode-solargraph
いくつかの変数タイプとメソッドの戻り値の検出(例:String.new.Stringインスタンスメソッドを返します)
現在のスコープ内のローカル変数、クラス変数、およびインスタンス変数の識別
参照を見つけてシンボルの名前を変更します(solargraph gem v0.22.0の時点で実験的)
gemのサポート
Rubyコアとstdlibのほぼ完全なサポート
Ruby on Railsの部分的なサポート
自動補完やドキュメント参照ができるようになるみたいです。
こちらも必要な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に特化して拡張機能をインストールしましたが、
他にもプログラミングを行う上で必須とも言える拡張機能がたくさんあると思います。
私は以下の記事を参考にしながら導入してみました。
今後も使えそうな拡張機能があればどんどん導入していきたいと思います。
-
前の記事
【zsh】最速で素のターミナルをカスタマイズする 2020.04.24
-
次の記事
Railsチュートリアル最新版(第6版)買ってみた 2020.04.30