全部產品
Search
文件中心

AI Coding Assistant Lingma:終端執行異常說明

更新時間:Jun 07, 2025

前言

終端執行對您的環境和配置有較強的依賴,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 及以上:

  1. 開啟 VSCode;

  2. 按下 Cmd + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux);

  3. 輸入 Code: Check for Updates,然後選擇它;

  4. 更新完成後重新啟動 VSCode。

方法 2:配置 VSCode 支援的 Shell

  1. 開啟 VSCode;

  2. 按下 Cmd + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux);

  3. 輸入 Terminal: Select Default Profile,然後選擇它;

  4. 選擇一個受支援的 Shell:

    • Linux/macOS: bash, fish, pwsh, zsh

    • Windows: Git Bash, pwsh

  5. 完全退出 VSCode,然後重新開啟 VSCode。

方法 3:手動安裝 Shell 整合

如果在嘗試上述排錯步驟後仍然遇到問題,您可以嘗試手動安裝 Shell 整合

例如,如果您使用 zsh:

  1. 將以下行添加到您的 ~/.zshrc 檔案中:

    [[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
  2. 儲存檔案;

  3. 完全退出 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,您需要:

  1. https://git-scm.com/downloads/win 下載並運行 Git for Windows 安裝程式;

  2. 退出並重新開啟 VSCode;

  3. 按下 Ctrl + Shift + P 開啟命令選擇區;

  4. 輸入 Terminal: Select Default Profile,然後選擇它;

  5. 選擇“Git Bash”。

PowerShell

如果您仍然希望使用 PowerShell,請確保您使用的是更新後的版本(至少 v7+)。

  • 通過運行以下命令檢查當前的 PowerShell 版本:$PSVersionTable.PSVersion

  • 如果您的版本低於 7,請更新 PowerShell

預設情況下,出於安全原因,PowerShell 限制指令碼的執行。您可能還需要調整 PowerShell 的執行策略:

  1. 以管理員身份開啟 PowerShell:按下 Win + X 並選擇“Windows PowerShell(管理員)”或“Windows 終端(管理員)”;

  2. 通過運行以下命令檢查當前的執行策略:

    Get-ExecutionPolicy
    • 如果輸出已經是 RemoteSignedUnrestrictedBypass,則您可能不需要更改執行策略。這些策略應允許 Shell 整合正常工作;

    • 如果輸出是 RestrictedAllSigned,則您可能需要更改策略以啟用 Shell 整合。

  3. 通過運行以下命令更改執行策略:

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

    這將僅為目前使用者設定 RemoteSigned 策略,這比系統範圍更改更安全。

  4. 確認更改:在提示時輸入 Y 並按 Enter 鍵;

  5. 驗證策略更改:再次運行 Get-ExecutionPolicy 以確認新的設定;

  6. 重新啟動 VSCode 並再次嘗試 Shell 整合。

WSL

如果您使用 WSL,嘗試添加 . "$(code --locate-shell-integration-path bash)" 到你的 ~/.bashrc,然後重啟後重試。

其他異常情況

終端輸出異常

如果您看到帶有矩形、線條、逸出序列或控制字元的異常輸出,這可能與終端自訂工具有關。常見的罪魁禍首包括:Powerlevel10k(一種為提示符添加視覺元素的 zsh 主題)、Oh My Zsh、Fish shell 主題等。

如何排錯:

  1. 在您的 Shell 設定檔中臨時禁用這些工具(例如,Zsh 的 ~/.zshrc 檔案);

  2. 如果問題解決,逐步重新啟用功能以識別衝突的工具

例如,如果您在 Zsh 中使用 Powerlevel10k,可以通過注釋掉 ~/.zshrc 檔案中的相關行來禁用它:

# 注釋掉 Powerlevel10k 的原始碼行
# source /path/to/powerlevel10k/powerlevel10k.zsh-theme

如果禁用這些自訂解決了問題,您可能需要找到與 VSCode Shell 整合功能相容的替代配置。

Jetbrains IDEs

全新 Beta 版終端從 2024.1 版 IDE 開始在新 UI 中提供,靈碼 Jetbrains 端外掛程式暫不支援新版終端模式。

image.png

可通過以下方式關閉新終端:

方式 1: 在 Settings 或 Preferences 中, 開啟 Tools - Terminal - Enable New Terminal(工具 - 終端 - 啟用新終端)中取消勾選新終端;

方式 2:在 Terminal(終端)視窗標題中,單擊image.svg表徵圖,取消勾選 Enable New Terminal(啟用新終端)。

聯絡我們

如果您參考這篇文檔提供的解決方案仍然無法解決您的問題,可以聯絡我們。