RailsのコードをVSCodeで読むための設定
Railsの仕様について気になる部分があったのでRails gemのソースコードを読んでみようと思いました。 gemのソースコードをVSCodeで読むための設定について調べました。
結論
bundle open gem_name で開くデフォルトエディタをVSCodeに設定すると便利。
設定するには以下の2つを設定する。
bundle open コマンドとは
bundlerに用意されている指定したgemのディレクトリを開くコマンド。
bundle open gem_name でgem_nameが保存されているディレクトリをデフォルトエディタで開きます。
この時、デフォルトエディタは環境変数$EDITOR、$BUNDLER_EDITORに指定されたエディタが選択されます。
$EDITOR: すべての環境でのデフォルトエディタ$BUNDLER_EDITOR:bundle openコマンドで使用されるデフォルトエディタ、$EDITORよりも優先度が高い
設定1: VSCodeの環境変数設定
- VSCodeで
cmd + shift + Pでコマンドパレットを開く。 shellと入力してAShell Command: Install 'code' command in PATHを選択。Code will now prompt with 'osasscript' for Administrator privilleges to install the shell command.と管理者権限を求められるのでOKを選択。- 管理者のパスワードを入力
Shell command 'code' succesfully installed in PATH.と表示され環境変数が追加される。
なお、追加した環境変数を削除する場合はコマンドパレットでshell と入力後、Shell Command: Uninstall 'code' command in PATH を選択し管理者のパスワードを入力すればok。
設定2: bundle openのデフォルトエディタをVSCodeに設定
シェルにzshを使っている場合の設定です。
bundle open 実行時のデフォルトエディタを指定する環境変数$BUNDLER_EDITOR にcode コマンドを指定します。
ここで$EDITOR に別のエディタを指定しておけばgit commit 等で使用するエディタを別のエディタに指定することもできます。
.zshrcにexport BUNDLER_EDITOR='code'を追加。- パスが追加されたか
envコマンドで確認。
# .zshrc export BUNDLER_EDITOR='code'
$ env | grep EDITOR EDITOR=vim BUNDLER_EDITOR=code # ここが追加される
なお、間違って環境変数を追加してしまった場合はunset コマンドで環境変数を削除できます。
$ unset BUNDLER_EDITOR
動作確認
上記の2つの設定で指定したgemをbundle open コマンドで開くようになります。
Gemfileが存在するディレクトリか.bundle/配下のディレクトリで実行する必要があります。- コマンド実行時に初回時のみ
Do you trust the authors of the files in this folder?とVSCodeで開くかどうか聞かれるのでYes, I trust the authorsを選択すると指定したgemのディレクトリが開きます。
例) FBCでのi18nのプラクティスのfjord-books_app アプリで使用するRails gemを開く
$ cd fjord-books_app $ bundle open rails
上記の手順でVSCodeでgemのディレクトリが開けるはずです。
追記: chrome拡張機能 Octotree がめっちゃ便利でした
ここまではエディタでソースコードを開く設定をしましたがソースコードを軽く読むだけならchrome拡張機能を使った方が断然早かったです。 こちらで紹介されているchrome拡張機能 Octotreeがめっちゃ便利です。 GitHubのリポジトリをツリー状に表示してくれるというシンプルなものですが階層構造が把握しやすく僕のような初心者にも分かりやすかったです。
Octotree - GitHub code tree - Chrome ウェブストア
まとめ
ソースコードを読みたかっただけなのに設定に時間が掛かってしまった。 できるだけ多くのソースコードを読んで深い知識を学んでいきたい。