VS Code中newExternalWindow移除后,externalTerminal无法继承管理员权限
VS Code调试终端权限继承问题
环境配置
- VS Code版本:Version: 1.119.0 (system setup)
- Commit: 8b640eef5a6c6089c029249d48efa5c99adf7d51
- 日期:2026-05-05T11:23:50-07:00
- Electron: 39.8.8
- ElectronBuildId: 13870025
- Chromium: 142.0.7444.265
- Node.js: 22.22.1
- V8: 14.2.231.22-electron.0
- 操作系统:Windows_NT x64 10.0.22631
问题描述
升级VS Code到1.119.0版本前,在launch.json中配置"console": "newExternalWindow"并配合cppvsdbg调试时,若从管理员命令提示符启动VS Code,打开的外部cmd.exe窗口会正确继承管理员权限。
升级后newExternalWindow不再是有效配置项,改用替代的"console": "externalTerminal"后,即使通过管理员命令提示符执行code .启动VS Code,调试时打开的外部终端依然没有管理员权限。
预期行为
当VS Code从管理员提示符启动时,使用externalTerminal配置的调试会话应继承管理员权限,与原newExternalWindow的行为一致。
实际行为
externalTerminal打开的终端无管理员权限,导致调试进程执行需要权限的注册表操作和全局共享内存操作时,出现Error 5 (Access is denied)错误。
复现步骤
- 打开管理员权限的命令提示符(选择
Run as administrator) - 执行
code .启动VS Code - 启动使用
cppvsdbg调试器且配置"console": "externalTerminal"的调试会话 - 观察生成的终端无管理员权限
内容的提问来源于stack exchange,提问作者Abmoh
相关产品推荐
相关产品推荐

