You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode 1.68.1按F8运行PowerShell7.2.5选段后代码重复粘贴终端问题

诱发原因

该问题属于版本兼容bug,和列出的F8按键绑定规则无关:
VS Code 1.68版本调整了集成终端的焦点切换回调逻辑,而当时发布的PowerShell扩展版本没有做对应适配:执行PowerShell.RunSelection(即F8绑定的运行选中PowerShell代码命令)时,扩展会先把选中的代码发送到PowerShell集成终端执行,流程走完后没有正确清理暂存的代码文本缓存;当执行结束焦点落回集成终端时,终端会误把缓存里的代码识别为用户手动粘贴的内容,直接填充到输入行。
只有PowerShell 7.2.5集成终端会触发该问题,是因为PowerShell扩展对内置pwsh集成终端走专用的PSRP通信通道,和普通外部终端的代码发送逻辑完全独立,兼容问题只出在这条专用逻辑链路里。

修复方法

按优先级从高到低可选以下方案:

  • 优先升级修复:直接将VS Code内的PowerShell扩展升级到2022.6.3及以上版本,该版本官方已经适配了VS Code 1.68的终端逻辑变更,升级完成后重启VS Code即可彻底解决异常,不需要修改任何配置。
  • 临时规避:如果暂时无法升级扩展,可在异常出现时按一次Esc键清空终端输入行的冗余内容,不会影响代码执行结果和后续操作。
  • 配置兜底:如果受环境限制无法升级扩展或VS Code,可手动修改按键绑定配置兜底:打开VS Code的keybindings.json文件,将原有F8对应PowerShell运行选中命令的条目替换为如下配置,关闭运行后自动聚焦终端的逻辑,避免触发缓存误识别:
{
  "key": "f8",
  "command": "PowerShell.RunSelection",
  "when": "editorTextFocus && editorLangId == 'powershell' && !terminalFocus",
  "args": {
    "focusConsoleAfterRun": false
  }
}

保存配置后重启VS Code即可生效。
如果不需要保留VS Code 1.68的新特性,也可以直接将VS Code回退到1.67.x版本,从根源上避开本次终端逻辑变更带来的兼容问题。


内容的提问来源于stack exchange,提问作者Keith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:06:24