前言
终端执行对您的环境和配置有较强的依赖,VSCode 和 JetbrainsIDEs 对不同操作系统的终端支持也有一定限制和兼容性问题,因此您在使用 Qoder CN Agent 模式的过程中可能会遇到无法正确唤起终端执行命令、无法拿到执行输出等问题。
VSCode
常见排错方法
Qoder CN 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 文件中:
- 保存文件;
- 完全退出 VSCode,然后重新打开 VSCode。如果您使用Bash (~/.bashrc):
仍有问题?
如果您尝试过以上方法,仍遇到偶现的无法获取终端输出的情况,可以尝试关闭(点击 终止终端 按钮)无法获得输出的终端窗口,然后重新运行该命令。这将刷新终端连接,大概率能解决问题。
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:按下 Win + X 并选择“Windows PowerShell(管理员)”或“Windows 终端(管理员)”;
-
通过运行以下命令检查当前的执行策略:
- 如果输出已经是 RemoteSigned、Unrestricted 或 Bypass,则您可能不需要更改执行策略。这些策略应允许 Shell 集成正常工作;
- 如果输出是 Restricted 或 AllSigned,则您可能需要更改策略以启用 Shell 集成。
-
通过运行以下命令更改执行策略:
这将仅为当前用户设置 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 文件);
- 如果问题解决,逐步重新启用功能以识别冲突的工具
Jetbrains IDEs
全新 Beta 版终端从 2024.1 版 IDE 开始在新 UI 中提供,Qoder CN Jetbrains 端插件暂不支持新版终端模式。
可通过以下方式关闭新终端:
方式 1: 在 Settings 或 Preferences 中, 打开 Tools - Terminal - Enable New Terminal(工具 - 终端 - 启用新终端)中取消勾选新终端;
方式 2:在 Terminal(终端)窗口标题中,单击
图标,取消勾选 Enable New Terminal(启用新终端)。