GitLab for VS Code拡張機能のトラブルシューティング
GitLab for VS Codeを使用する場合、次のイシューが発生する可能性があります。
問題が以下に記載されていない場合は、サポートに必要な情報を収集し、gitlab-vscode-extensionイシュートラッカーでバグを報告してください。
ログ
GitLab for VS Code拡張機能と、この拡張機能を強化するGitLab言語サーバーの両方が、トラブルシューティングを行うのに役立つログを提供します。
デバッグログを有効にする
デバッグロギングを有効にするには:
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押します。
- WindowsまたはLinuxでは、Control+,を押します。
- Extensions > GitLab > その他を選択します。
- GitLab: Debugで、チェックボックスを選択してデバッグモードをオンにします。
- ウィンドウをリロードして拡張機能を再起動します。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
Developer: Reload Windowと入力してEnterキーを押します。
- コマンドパレットを開きます。
デバッグログを表示する
デバッグログを表示するには:
- VS Codeで、View > Outputを選択します。
- 出力パネルの右上隅にあるドロップダウンリストで、GitLabまたはGitLab Language Serverログをフィルターします。
- エラー、警告、接続の問題、または認証の問題がないか確認します。
認証
次の認証エラーが発生する可能性があります。
エラー: ...can't access the OS Keychain
macOSおよびUbuntuでは、拡張機能がOSキーチェーンにアクセスして認証することができない場合にエラーが発生することがあります。
例:
The GitLab extension can't access the OS Keychain.
If you use Ubuntu, see this existing issue.Error: Cannot get password
at I.$getPassword (vscode-file://vscode-app/snap/code/97/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:1712:49592)お使いのオペレーティングシステムに合わせて、以下の回避策を実行してください。
このエラーの詳細については、以下を参照してください:
macOSの回避策
macOSでこのエラーを回避するには:
- お使いのコンピューターでKeychain Accessを開き、
vscodegitlab.gitlab-workflowを検索します。 - キーチェーンから
vscodegitlab.gitlab-workflowを削除します。 - Command+Shift+Pを押してコマンドパレットを開きます。
GitLab: Remove Account from VS Codeと入力し、Enterを押して破損したアカウントをVS Codeから削除します。- 再度コマンドパレットを開き、
GitLab: Authenticateを実行してアカウントを再度追加します。
Ubuntuの回避策
Ubuntu 20.04および22.04でsnapを使用してVS Codeをインストールする場合、VS CodeはOSキーチェーンからパスワードを読み取ることができません。拡張機能バージョン3.44.0以降では、安全なトークンストレージにOSキーチェーンを使用します。
VS Codeバージョン1.68.0以前を使用している場合は、次のいずれかの回避策を試してください:
- GitLab for VS Code拡張機能をバージョン3.43.1にダウングレードします。
snapではなく、.debパッケージからVS Codeをインストールします:snapVS Codeをアンインストールします。.debパッケージからVS Codeをインストールします。- UbuntuのPassword & Keysに移動し、
vscodegitlab.workflow/gitlab-tokensエントリを見つけて削除します。 - VS Codeで、Control+Shift+Pを押してコマンドパレットを開きます。
Gitlab: Remove Your Accountと入力し、Enterを押して、不足している認証情報を持つアカウントを削除します。- 再度コマンドパレットを開き、
GitLab: Authenticateを実行してアカウントを再度追加します。
VS Codeバージョン1.68.0以降を使用している場合は、再認証を試してください:
- UbuntuのPassword & Keysに移動し、
vscodegitlab.workflow/gitlab-tokensエントリを見つけて削除します。 - VS Codeで、Control+Shift+Pを押してコマンドパレットを開きます。
Gitlab: Remove Your Accountと入力し、Enterを押して、不足している認証情報を持つアカウントを削除します。- 再度コマンドパレットを開き、
GitLab: Authenticateを実行してアカウントを再度追加します。
GDK使用時の接続および認可エラー
VS CodeをGDKとともに使用している場合、システムがlocalhostで実行されているGitLabインスタンスへの安全なTLS接続を確立できないというエラーが表示されることがあります。
例えば、127.0.0.1:3000をGitLabサーバーとして使用している場合:
Request to https://127.0.0.1:3000/api/v4/version failed, reason: Client network
socket disconnected before secure TLS connection was establishedこのイシューは、GDKをhttpで実行しており、GitLabインスタンスがhttpsでホストされている場合に発生します。
これを解決するには:
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
GitLab: Authenticateと入力してEnterキーを押します。- 手動でインスタンスの
httpURLを入力するオプションを選択し、Enterを押します。 - 残りのプロンプトに従って認証してください。
プロジェクト設定
次のプロジェクト設定エラーが発生する可能性があります。
アカウントとプロジェクトの設定エラー
VS Codeでプロジェクトを開くと、GitLab( )タブのプロジェクト名の横にエラーメッセージが表示されることがあります。または、ステータスバーに複数のアカウントまたはプロジェクトに関する警告メッセージが表示される場合があります。
これらのメッセージは、拡張機能が使用するリポジトリ、アカウント、またはプロジェクトを特定できない場合に表示されます。
これらのエラーを解決するには:
- リモートが定義されていないか、複数のリモートが設定されている場合は、あなたのリポジトリに接続するを参照してください。
- ステータスバーにMultiple GitLab Accountsが表示される場合は、アカウントを切り替えるを選択します。
- ステータスバーに (multiple projects) が表示される場合は、プロジェクトを選択するを選択します。
VS CodeでGitを初めて使用する場合は、VS Codeのソース管理を参照して、リポジトリとVS Codeワークスペースの初期化に関する情報を確認してください。これらはGitLab拡張機能の外部で実行されます。
SSHカスタムエイリアスを使用したGitリモート
リポジトリのリモートがSSHカスタムエイリアスを使用している場合、拡張機能がリポジトリをGitLabプロジェクトに正しく照合できない可能性があります。例えば、リモートがgit@gitlab.com:group/project.gitの代わりにgit@my-work-gitlab:group/project.gitを使用している場合です。
この問題を解決するには、次の操作を実行します:
- リモートをHTTPを使用するように変更するか、カスタムエイリアスなしでSSHを使用するように変更します。
- 拡張機能でデフォルトのGitLab Duoネームスペースを設定します。
デフォルトのネームスペースを設定するには:
- プロジェクトが属するネームスペースを特定します。
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押します。
- WindowsまたはLinuxでは、Control+,を押します。
- Extensions > GitLab > GitLab Duoを選択します。
- GitLab › Duo Agent Platform: デフォルトネームスペースに、ネームスペースを入力します。
HTTPSプロジェクトのクローンは機能するが、SSHクローンは失敗する
HTTPSクローンは機能するのに、SSHクローンエラーが発生することがあります。これは、SSH URLホストまたはパスがHTTPSパスと異なる場合に発生します。
GitLab for VS Code拡張機能は以下を使用します:
- 設定したアカウントに一致するホスト。
- ネームスペースとプロジェクト名を取得するためのパス。
例えば、VS Code拡張機能プロジェクトのURLは次のとおりです:
- SSH:
git@gitlab.com:gitlab-org/gitlab-vscode-extension.git - HTTPS:
https://gitlab.com/gitlab-org/gitlab-vscode-extension.git
両方ともgitlab.comホストとgitlab-org/gitlab-vscode-extensionパスを持っています。
このエラーを解決するには:
- お使いのSSH URLが別のホストにあるか、パスに余分なセグメントが含まれているかを確認します。
- どちらかに該当する場合は、GitリポジトリをGitLabプロジェクトに手動で割り当てます:
このプロセスを簡素化する方法の詳細については、gitlab-vscode-extensionプロジェクトのイシュー577を参照してください。
ネットワークと接続性
次のネットワークおよび接続エラーが発生する可能性があります。
エラー: プロキシによる407 Access Denied失敗
認証済みプロキシを使用している場合、407 Access Denied (authentication_failed)エラーが発生することがあります。
例:
Request failed: Can't add GitLab account for https://gitlab.com. Check your instance URL and network connection.
Fetching resource from https://gitlab.com/api/v4/personal_access_tokens/self failedこのエラーを解決するには、GitLab言語サーバーのプロキシ認証を有効にします。
カスタム証明書に関するエラー
自己署名証明書など、カスタム証明書を使用してGitLabインスタンスに接続する場合、エラーが発生することがあります。
これらのエラーは、証明書が次の設定を使用している場合に発生することがあります:
| 設定名 | 情報 |
|---|---|
gitlab.ca | 非推奨。自己署名CAのセットアップ方法の詳細については、SSLセットアップガイドを参照してください。 |
gitlab.cert | サポートされていません。エピック6244を参照してください。 |
gitlab.certKey | サポートされていません。エピック6244を参照してください。 |
gitlab.ignoreCertificateErrors | サポートされていません。エピック6244を参照してください。 |
解決するには、カスタム認証局向けに拡張機能を設定するを参照してください。
期限切れのSSL証明書
誤った期限切れのSSL証明書エラーが発生することがあります。例:
API request failed - Error: certificate has expired。
このエラーを解決するには、システム証明書を無効にします:
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押します。
- WindowsまたはLinuxでは、Control+,を押します。
- ユーザー設定タブで、アプリケーション > Proxyを選択します。
- Proxy Strict SSLおよびSystem Certificatesの設定を無効にします。
GitLab Duo
VS CodeでGitLab Duoを使用すると、次のイシューが発生することがあります。
GitLab Duo機能が利用できない
VS CodeでのGitLab Duoエラーをトラブルシューティングを行うには:
- 前提条件を満たし、必要な設定がオンになっていることを確認してください。
- 管理者モードが無効になっていることを確認してください。
- 診断出力を確認します:
- VS Codeでコマンドパレットを開きます。
- macOSの場合、Command+Shift+Pを押します
- WindowsまたはLinuxの場合、Control+Shift+Pを押します
GitLab: Diagnosticsコマンドを実行し、失敗したチェックがないか出力を確認します。
- VS Codeでコマンドパレットを開きます。
- 診断で機能がオンになっていないと示されている場合:
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押します。
- WindowsまたはLinuxでは、Control+,を押します。
- Extensions > GitLab > GitLab Duoを選択します。
- 不足している機能のGitLab › セクションを見つけ、チェックボックスを選択してオンにします。
- VS Codeで、設定エディタを開きます:
- 診断でAgentic Chatが現在のプロジェクトでサポートされていないと示されている場合は、デフォルトのGitLab Duoネームスペースを設定します。
- 診断で、すべてのAgentic Chatのチェックがパスしているにもかかわらずパネルが表示されない場合は、カスタムVS Codeレイアウトに隠されている可能性があります。
- VS Codeでコマンドパレットを開きます。
- macOSの場合、Command+Shift+Pを押します
- WindowsまたはLinuxの場合、Control+Shift+Pを押します
View: Show GitLab Duo Agent PlatformまたはView: Toggle GitLab Duo Agent Platformコマンドを実行します。
- VS Codeでコマンドパレットを開きます。
コード提案のサポートについては、コード提案のトラブルシューティングを参照してください。
GitLab DuoがWebSocketエンドポイントの代わりにHTTP/1.1応答を返す
ログにGitLab DuoからのHTTP/1.1応答が/-/cable WebSocketエンドポイントの代わりに表示されることがあります。
これは、GitLabインスタンスがWebSocket接続をブロックする場合に発生します。
このエラーを解決するには、ネットワーク管理者にGitLabインスタンスを変更して、IDEクライアントからの受信WebSocket接続を許可するように依頼してください。
GitLab Duo Agent Platformへの接続がWebSocketエラー1006または404で失敗した場合は、WebSocketエラー1006または404で接続が失敗するを参照してください。
GitLab Duo Chatがリモート環境で初期化に失敗する
リモート開発環境(ブラウザベースのVS CodeやリモートSSH接続など)でGitLab Duo Chatを使用している場合、次のような初期化の失敗が発生することがあります:
- 空白または読み込まれないチャットパネル。
- ログ内のエラー。例えば
The webview didn't initialize in 10000ms。 - 拡張機能がアクセスできないローカルURLに接続しようとします。
これらのエラーを解決するには:
VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押します。
- WindowsまたはLinuxでは、Control+,を押します。
右上隅で Open Settings(JSON) を選択して、
settings.jsonファイルを編集します。この設定を追加または変更します:
"gitlab.featureFlags.languageServerWebviews": false変更を保存し、ウィンドウをリロードします:
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
Developer: Reload Windowと入力してEnterキーを押します。
- コマンドパレットを開きます。
永続的な解決策の更新については、イシュー #1944およびイシュー #1943を参照してください。
GitLab Duoコマンドが失敗するか、無期限に実行される
IDEでGitLab Duo Agentic Chatまたはソフトウェア開発フローを使用すると、GitLab Duoがループにはまったり、コマンドの実行に問題が発生したりする可能性があります。
このイシューは、Oh My ZSH!やpowerlevel10kなどのShellテーマまたはインテグレーションを使用している場合に発生する可能性があります。GitLab Duoエージェントがターミナルを作成すると、Shellテーマまたはインテグレーションによってコマンドが正しく実行されないことがあります。
回避策として、以下に示す手順に従って、エージェントによって送信されるコマンドにシンプルなテーマを使用してください。
修正の詳細については、イシュー2116を参照してください。
.zshrcファイルを編集する
VS Codeで、Oh My ZSH!またはpowerlevel10kを設定して、エージェントによって送信されるコマンドにシンプルなテーマを使用するようにします。IDEによって公開された環境変数を使用して、これらの値を設定できます。
~/.zshrcファイルを編集し、次のコードを追加します:
# ~/.zshrc
# Path to your oh-my-zsh installation
export ZSH="$HOME/.oh-my-zsh"
# ...
# Decide whether to load a full terminal environment,
# or keep it minimal for agentic AI in IDEs
if [[ "$TERM_PROGRAM" == "vscode" ]]; then
echo "IDE agentic environment detected, not loading full shell integrations"
else
# Oh My ZSH
source $ZSH/oh-my-zsh.sh
# Theme: Powerlevel10k
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Other integrations like syntax highlighting
fi
# Other setup, like PATH variablesBash Shellを編集する
VS Codeで、Bashの高度なプロンプトをオフにすることができます。
~/.bashrcファイルまたは~/.bash_profileファイルを編集し、次のコードを追加します:
# ~/.bashrc or ~/.bash_profile
# Decide whether to load a full terminal environment,
# or keep it minimal for Agentic AI in IDEs
if [[ "$TERM_PROGRAM" == "vscode" ]]; then
echo "IDE agentic environment detected, not loading full shell integrations"
# Keep only essential settings for agents
export PS1='\$ ' # Minimal prompt
else
# Load full Bash environment
# Custom prompt (e.g., Starship, custom PS1)
if command -v starship &> /dev/null; then
eval "$(starship init bash)"
else
# ... Add your own PS1 variable
fi
# Load additional integrations
fi
# Always load essential environment variables and aliasesサポートに必要な情報
サポートに連絡する前に、最新のGitLab for VS Code拡張機能がインストールされていることを確認してください。
最新のリリースは、VS Code MarketplaceのVersion Historyタブで確認できます。
影響を受けるユーザーから次の情報を収集し、バグレポートに含めてください:
- ユーザーに表示されたエラーメッセージ。
- GitLabとGitLab Language Serverのログ。
- 診断出力。
- コマンドパレットを開きます。
- macOSの場合は、Command+Shift+Pキーを押します。
- WindowsまたはLinuxの場合、Control+Shift+Pを押します。
GitLab: Diagnosticsと入力してEnterキーを押します。- 拡張機能のバージョンをメモします。
- コマンドパレットを開きます。
- システム詳細:
- VS Codeで、OSの詳細:
- macOSの場合、コード > About Visual Studio Codeに移動し、OSを見つけます。
- WindowsまたはLinuxの場合、ヘルプ > GitLabについてに移動し、OSを見つけます。
- マシン仕様(CPU, RAM): これらはお使いのマシンから提供してください。これらはIDEからはアクセスできません。
- VS Codeで、OSの詳細:
- 影響のスコープを説明してください。何人のユーザーが影響を受けていますか?
- エラーを再現する方法を説明してください。可能であれば、画面録画を含めてください。
- 他のGitLab Duo機能がどのように影響を受けているか説明してください:
- GitLab Quick Chatは機能していますか?
- コード提案は機能していますか?
- Web IDEのGitLab Duo Chatは応答を返しますか?
- GitLab for VS Code拡張機能の分離ガイドで説明されているように、拡張機能の分離テストを実行します。他のすべての拡張機能を無効にする(またはアンインストールする)ことで、別の拡張機能がこのイシューを引き起こしているかどうかを判断してください。
