GUIとIDEの設定
V8のソースコードはChromium Code Searchでオンラインで閲覧できます。
このプロジェクトのGitリポジトリは、他の多くのクライアントプログラムやプラグインを使用してアクセスできます。詳細については、使用するクライアントのドキュメントを参照してください。
Visual Studio Codeとclangd
VSCodeをV8用にセットアップする手順については、このドキュメントを参照してください。これが現在(2021年)推奨される設定です。
Eclipse
EclipseをV8用にセットアップする手順については、このドキュメントを参照してください。注意: 2020年現在、EclipseでV8をインデックス化するのはうまく動作しません。
Visual Studio Codeとcquery
VSCodeとcqueryは優れたコードナビゲーション機能を提供します。C++シンボルに対する「定義に移動」や「すべての参照を検索」機能を備えており、非常に良好に動作します。このセクションでは、*nixシステムで基本的なセットアップを行う方法を説明します。
VSCodeをインストール
好みの方法でVSCodeをインストールしてください。このガイドでは、コマンドラインでcode
コマンドを使用してVSCodeを実行できることを前提とします。
cqueryをインストール
cqueryをお好きなディレクトリにクローンしてください。このガイドではCQUERY_DIR="$HOME/cquery"
を使用します。
git clone https://github.com/cquery-project/cquery "$CQUERY_DIR"
cd "$CQUERY_DIR"
git submodule update --init
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=release -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
make install -j8
何か問題が発生した場合は、必ずcqueryの入門ガイドを確認してください。
後でcqueryを更新するには、git pull && git submodule update
を使用できます(cmake .. -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=release -DCMAKE_EXPORT_COMPILE_COMMANDS=YES && make install -j8
で再ビルドするのを忘れないでください)。
VSCode用cquery-pluginをインストールして構成する
cquery拡張機能をVSCodeのマーケットプレイスからインストールします。V8チェックアウト内でVSCodeを開きます:
cd v8
code .
VSCodeの設定に移動します。例えば、ショートカットCtrl + ,を使用します。
以下の内容を適切にYOURUSERNAME
およびYOURV8CHECKOUTDIR
を置き換えてワークスペース構成に追加してください。
"settings": {
"cquery.launch.command": "/home/YOURUSERNAME/cquery/build/release/bin/cquery",
"cquery.cacheDirectory": "/home/YOURUSERNAME/YOURV8CHECKOUTDIR/.vscode/cquery_cached_index/",
"cquery.completion.include.blacklist": [".*/.vscache/.*", "/tmp.*", "build/.*"],
[…]
}
compile_commands.json
をcqueryに提供する
最後のステップは、cqueryにcompile_commands.json
を生成することです。このファイルには、cqueryが使用するV8をビルドする際の特定のコンパイラーコマンドラインが含まれます。V8チェックアウト内で以下のコマンドを実行してください:
ninja -C out.gn/x64.release -t compdb cxx cc > compile_commands.json
このコマンドは、時間が経つにつれて新しいソースファイルをcqueryに教えるために再実行する必要があります。特に、BUILD.gn
が変更された後、常にコマンドを再実行する必要があります。
他の便利な設定
Visual Studio Codeの括弧の自動閉じ機能はあまりうまく動作しません。この機能は以下で無効化できます。
"editor.autoClosingBrackets": false
ユーザー設定で無効化します。
以下の除外マスクは、検索時に不要な結果を避けるのに役立ちます (Ctrl+Shift+F):
"files.exclude": {
"**/.vscode": true, // これはデフォルトの値です
},
"search.exclude": {
"**/out*": true, // これはデフォルトの値です
"**/build*": true // これはデフォルトの値です
},