前言
終端執行對您的環境和配置有較強的依賴,VSCode 和 JetbrainsIDEs 對不同作業系統的終端支援也有一定限制和相容性問題,因此您在使用靈碼 Agent 模式的過程中可能會遇到無法正確喚起終端執行命令、無法拿到執行輸出等問題。
VSCode
常見排錯方法
靈碼 VSCode 外掛程式依賴 VSCode Shell 整合 API 調用終端運行命令並讀取其輸出,該 API 是 VSCode 1.93 版本提供的新功能,目前僅支援以下類型的 shell,因此您需要保證 VSCode 版本大於 1.93 並且預設終端配置為如下類型之一:
Linux/macOS: bash, fish, pwsh, zsh
Windows: Git Bash, pwsh
如果遇到終端執行異常問題,可以依次按以下方法嘗試解決:
方法 1:升級 VSCode
請檢查您使用的 VSCode 版本,保證是 1.93 及以上:
開啟 VSCode;
按下
Cmd + Shift + P(Mac)或Ctrl + Shift + P(Windows/Linux);輸入
Code: Check for Updates,然後選擇它;更新完成後重新啟動 VSCode。
方法 2:配置 VSCode 支援的 Shell
開啟 VSCode;
按下
Cmd + Shift + P(Mac)或Ctrl + Shift + P(Windows/Linux);輸入
Terminal: Select Default Profile,然後選擇它;選擇一個受支援的 Shell:
Linux/macOS: bash, fish, pwsh, zsh
Windows: Git Bash, pwsh
完全退出 VSCode,然後重新開啟 VSCode。
方法 3:手動安裝 Shell 整合
如果在嘗試上述排錯步驟後仍然遇到問題,您可以嘗試手動安裝 Shell 整合。
例如,如果您使用 zsh:
將以下行添加到您的
~/.zshrc檔案中:[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"儲存檔案;
完全退出 VSCode,然後重新開啟 VSCode。
如果您使用Bash (
~/.bashrc):
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"如果您使用PowerShell ($Profile):
if ($env:TERM_PROGRAM -eq "vscode") { . "$(code --locate-shell-integration-path pwsh)" }如果您使用Fish (~/.config/fish/config.fish):
string match -q "$TERM_PROGRAM" "vscode"; and . (code --locate-shell-integration-path fish)如果您使用其他類型的 Shell,可參考文檔:手動安裝 Shell 整合。
仍有問題?
如果您嘗試過以上方法,仍遇到偶現的無法擷取終端輸出的情況,可以嘗試關閉(點擊 終止終端 按鈕)無法獲得輸出的終端視窗,然後重新運行該命令。這將重新整理終端串連,大機率能解決問題。
Windows 系統排錯方法
如果您使用的是 Windows,並且在嘗試了上述步驟後仍然遇到問題,您可使用如下方法:
Git Bash
您可以嘗試使用 Git Bash。Git Bash 可以在 Windows 上提供類似 Unix 的命令列體驗,如需使用 Git Bash,您需要:
從 https://git-scm.com/downloads/win 下載並運行 Git for Windows 安裝程式;
退出並重新開啟 VSCode;
按下
Ctrl + Shift + P開啟命令選擇區;輸入
Terminal: Select Default Profile,然後選擇它;選擇“Git Bash”。
PowerShell
如果您仍然希望使用 PowerShell,請確保您使用的是更新後的版本(至少 v7+)。
通過運行以下命令檢查當前的 PowerShell 版本:
$PSVersionTable.PSVersion如果您的版本低於 7,請更新 PowerShell。
預設情況下,出於安全原因,PowerShell 限制指令碼的執行。您可能還需要調整 PowerShell 的執行策略:
以管理員身份開啟 PowerShell:按下
Win + X並選擇“Windows PowerShell(管理員)”或“Windows 終端(管理員)”;通過運行以下命令檢查當前的執行策略:
Get-ExecutionPolicy如果輸出已經是
RemoteSigned、Unrestricted或Bypass,則您可能不需要更改執行策略。這些策略應允許 Shell 整合正常工作;如果輸出是
Restricted或AllSigned,則您可能需要更改策略以啟用 Shell 整合。
通過運行以下命令更改執行策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser這將僅為目前使用者設定
RemoteSigned策略,這比系統範圍更改更安全。確認更改:在提示時輸入
Y並按 Enter 鍵;驗證策略更改:再次運行
Get-ExecutionPolicy以確認新的設定;重新啟動 VSCode 並再次嘗試 Shell 整合。
WSL
如果您使用 WSL,嘗試添加 . "$(code --locate-shell-integration-path bash)" 到你的 ~/.bashrc,然後重啟後重試。
其他異常情況
終端輸出異常
如果您看到帶有矩形、線條、逸出序列或控制字元的異常輸出,這可能與終端自訂工具有關。常見的罪魁禍首包括:Powerlevel10k(一種為提示符添加視覺元素的 zsh 主題)、Oh My Zsh、Fish shell 主題等。
如何排錯:
在您的 Shell 設定檔中臨時禁用這些工具(例如,Zsh 的
~/.zshrc檔案);如果問題解決,逐步重新啟用功能以識別衝突的工具
例如,如果您在 Zsh 中使用 Powerlevel10k,可以通過注釋掉 ~/.zshrc 檔案中的相關行來禁用它:
# 注釋掉 Powerlevel10k 的原始碼行
# source /path/to/powerlevel10k/powerlevel10k.zsh-theme如果禁用這些自訂解決了問題,您可能需要找到與 VSCode Shell 整合功能相容的替代配置。
Jetbrains IDEs
全新 Beta 版終端從 2024.1 版 IDE 開始在新 UI 中提供,靈碼 Jetbrains 端外掛程式暫不支援新版終端模式。

可通過以下方式關閉新終端:
方式 1: 在 Settings 或 Preferences 中, 開啟 Tools - Terminal - Enable New Terminal(工具 - 終端 - 啟用新終端)中取消勾選新終端;
方式 2:在 Terminal(終端)視窗標題中,單擊表徵圖,取消勾選 Enable New Terminal(啟用新終端)。
聯絡我們
如果您參考這篇文檔提供的解決方案仍然無法解決您的問題,可以聯絡我們。