コード提案のコンテキスト認識
GitLab Duoが判断し、提案を行うために役立つさまざまな情報が利用できます。
情報は、以下のいずれかの状況で利用可能です:
- 常時。
- ユーザーの場所に基づく(移動するとコンテキストが変化します)。
コード提案で利用できるコンテキストは次のとおりです。
常に利用可能
- 一般的なプログラミング知識、ベストプラクティス、および言語固有の情報。
- カーソルの前後のコンテンツを含め、表示または編集しているファイルの名前、拡張子、およびコンテンツ。
場所に基づく
- IDEのタブで開いているファイル。オプションですが、デフォルトでオンになっています。
- 前提条件:
- 最適なコンテキストのウェイト設定のためには、GitLabバージョン17.2以降が必要です。
- サポートされているIDE拡張機能。バージョン要件については、開いているファイルをコンテキストとして使用するを参照してください。
- これらのファイルは、プロジェクトの標準とプラクティスに関する情報をGitLab Duoに提供します。
- コンテキストに使用したくない場合は、ファイルを閉じてください。
- 最近開いたファイルまたは変更されたファイルが、コンテキストとして優先されます。
- コード補完は、コード提案がサポートするすべての言語に対応しています。
- コード生成は、次の言語のファイルのみを認識します: Go、Java、JavaScript、Kotlin、Python、Ruby、Rust、TypeScript(
.tsおよび.tsxファイル)、Vue、YAML。
- 前提条件:
- 表示または編集しているファイルにインポートされたファイル。オプションですが、デフォルトでオフになっています。
- これらのファイルは、ファイルのクラスとメソッドに関する情報をGitLab Duoに提供します。
.js、.jsx、.ts、.tsx、および.vueファイルタイプを含む、JavaScriptおよびTypeScriptファイルでサポートされています。
- エディタで選択されたコード。
- コード提案からのリポジトリX-Rayファイル。
既知の形式に一致するシークレットと機密情報値は、コード生成に使用される前に秘匿化されます。これは、/includeを使用して追加されたファイルに適用されます。
IDEでコード提案がどのようにコンテキストを使用するかの詳細については、GitLab言語サーバーのドキュメントを参照してください。
コード提案がコンテキストに使用するものを変更する
コード提案が他のファイルをコンテキストとして使用するかどうかを変更できます。
開いているファイルをコンテキストとして使用する
デフォルトでは、コード提案は、提案を行う際にIDEで開いているファイルをコンテキストとして使用します。ただし、この設定をオフにすることができます。
前提条件:
- GitLab 17.2以降。コード提案をサポートする以前のバージョンのGitLabでは、開いているタブのコンテンツをプロジェクト内の他のファイルよりも重視することはできません。
- サポートされているプラグイン:
- GitLab for VS Code拡張機能6.2.2以降。
- GitLab Duoプラグインfor JetBrains IDE 3.6.5以降。
- Neovim用GitLabプラグイン1.1.0以降。
- GitLab for Visual Studio拡張機能0.51.0以降。
コンテキストとして使用されている開いているファイルを変更するには、次の手順に従います:
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押してください。
- WindowsまたはLinuxでは、Control+,を押してください。
- Extensions > GitLab > GitLab Duoを選択します。
- GitLab › Duo Code Suggestions: Open Tabs Contextにある、Use the contents of open tabs as contextを選択またはクリアします。
- IDEの上部のメニューバーに移動し、Settingsを選択します。
- 左サイドバーでツールを展開し、GitLab Duoを選択します。
- Additional languagesで、Send open tabs as contextを選択またはクリアします。
- ApplyまたはSaveを選択します。
インポートされたファイルをコンテキストとして使用する
IDEでインポートしたファイルを使用して、コードプロジェクトに関するコンテキストを提供します。インポートされたファイルコンテキストは、.js、.jsx、.ts、.tsx、および.vueファイルタイプを含む、JavaScriptおよびTypeScriptファイルでサポートされています。