#16: 『プロを目指す人のための Ruby 入門』を購入、VSCode のセットアップ
『パーフェクト Ruby』に引き続き『プロを目指す人のための Ruby 入門』も購入しました。複数の書籍を並行して読んでいく方が理解しやすいだろうと思いまして。
今日やったこと(Done)
VSCode に Ruby 用の拡張をインストールした。検索するとトップに出てくる Peng Lv さん作のもの。
rubocop
をインストール。
$ gem install rubocop $ rubocop -v 0.89.0
Emacs や Vim でいう quickrun に相当する VSCode の拡張 Runner
をインストール。安心と信頼の mattn さん作。Ctrl-Shift-R
で実行される。
いまのところ VSCode の設定 settings.json
はこうなっている。
{ "workbench.colorTheme": "Default High Contrast", "editor.formatOnSave": true, // スペースを表示 "editor.renderWhitespace": "all", // タブをスペース2個に変更 "editor.tabSize": 2, // 折り返し "editor.wordWrap": "on", "workbench.iconTheme": "material-icon-theme", // Ruby "ruby.codeCompletion": "rcodetools", "ruby.format": "rubocop", "ruby.intellisense": "rubyLocate", "ruby.lint": { "rubocop": false }, "ruby.useLanguageServer": true, // Runner "runner.extensionMap": { "rb": "ruby", }, }
標準の REPL irb よりも高機能らしい Pry をインストール。
$ gem install pry $ pry -v Pry version 0.13.1 on Ruby 2.7.1
linter? reek をインストール。
$ gem install reek
コード補完を担当する Solargraph をインストール。
$ gem install solargraph
おっと、エラーになってしまいました。
ERROR: Error installing solargraph: invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in /Users/ryocalm/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/cache/nokogiri-1.10.10.gem
スクレイピングの gem、Nokogiri のインストールがエラーになっているようです。
こちら(nokogiri/CHANGELOG.md)を参照して、1.10.10
が失敗するようなので代わりに 1.11.0.rc2
を入れてみます。
$ gem install --prerelease nokogiri
あらためて Solargraph をインストールしようとしたところ、cache に残っている nokogiri-1.10.10 が邪魔になっているようだったので削除します。
$ rm -f ~/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/cache/nokogiri-1.10.10.gem
その上で gem install solargraph
すると無事インストールできました。
デバッグ用の 設定
VSCode Ruby 拡張の公式ドキュメントを確認します。
- vscode-ruby/debugger.md at master · rubyide/vscode-ruby
- 2. Launching from VS Code · rubyide/vscode-ruby Wiki
ruby 2.x 系の場合は以下の gem をインストールするようにとのこと。
$ gem install ruby-debug-ide $ gem install debase
わかったこと(Fact)
- VSCode で保存する操作にやたら時間がかかる。format が遅いのだろうか。
- ただ 10 行くらいの fizzbuzz を書いただけのファイルなのに 2,3 秒待たされるのはちょっと許容できないなぁ。
- format を rubocop から solargraph に変更したら快適になった!
// "ruby.format": "rubocop", "solargraph.formatting": true,
gem
コマンドのヘルプは以下のようにして確認できる。いろいろオプションがあるので雑にググるよりも公式ヘルプを手元で確認した方がずっとよいだろう。gem help list
gem help install
参考文献(References)
- rubocop-hq/rubocop: A Ruby static code analyzer and formatter, based on the community Ruby style guide.
- Pry - an IRB alternative and runtime developer console
- Ruby - Visual Studio Marketplace
- castwide/solargraph: A Ruby language server.
- Ruby Solargraph - Visual Studio Marketplace
チェリー本
- プロを目指す人のためのRuby入門
- 「プロを目指す人のためのRuby入門」別館 Advent Calendar 2017 - Qiita
- tag: プロを目指す人のためのRuby入門 - Qiita
- Ruby 2.5で発生する「プロを目指す人のためのRuby入門」との差異について - Qiita
- Ruby 2.6で発生する「プロを目指す人のためのRuby入門」との差異について - Qiita
- Ruby 2.7で発生する「プロを目指す人のためのRuby入門」との差異について - Qiita
VSCode セットアップ
- RubyをVSCodeで快適に書く設定メモ | siroの技術ブログ
- VSCodeで最低限のRuby環境構築 - 設定編 - Technically Impossible
- VSCodeで最低限のRuby環境構築 - 検証編 - Technically Impossible