コード提案のコンテキスト認識
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では、開いているタブのコンテンツをプロジェクト内の他のファイルよりも重視することはできません。
- サポートされているプラグイン:
- VS Code用GitLab Workflow拡張機能6.2.2以降。
- JetBrains IDE用GitLabプラグイン3.6.5以降。
- Neovim用GitLabプラグイン1.1.0以降。
- Visual Studio用GitLab拡張機能0.51.0以降。
コンテキストとして使用されている開いているファイルを変更するには、次の手順に従います:
- 上部のバーで、Code > Settings > Extensionsに移動します。
- リストでGitLabワークフローを検索し、歯車アイコンを選択します。
- Settingsを選択します。
- User設定で、
open tabsを検索します。 - GitLab > Duo Code Suggestions: Open Tabs Contextにある、Use the contents of open tabs as contextを選択またはクリアします。
- IDEの上部のメニューバーに移動し、Settingsを選択します。
- 左側のサイドバーで、Toolsを展開し、GitLab Duoを選択します。
- Additional languagesで、Send open tabs as contextを選択またはクリアします。
- ApplyまたはSaveを選択します。
インポートされたファイルをコンテキストとして使用する
IDEでインポートしたファイルを使用して、コードプロジェクトに関するコンテキストを提供します。インポートされたファイルコンテキストは、.js、.jsx、.ts、.tsx、および.vueファイルタイプを含む、JavaScriptおよびTypeScriptファイルでサポートされています。