code.exe 忽略命令行参数
Posted
技术标签:
【中文标题】code.exe 忽略命令行参数【英文标题】:code.exe ignoring command-line arguments 【发布时间】:2018-07-11 01:09:16 【问题描述】:我希望这是一个简单的解决方法,但我找不到任何有关此问题的文档或其他帖子。我正在尝试编写一个脚本(cmd
或 pwsh
),它将根据我的偏好在便携式安装上启动 vscode。
当尝试使用任何参数执行 vscode 的 code.exe
时,它会忽略它们并只是启动程序,就像我没有输入任何其他内容一样。我在测试中是following this doc。使用别名开关也不起作用。 确实似乎处理的唯一参数是我是否包含路径。
code.exe --help
code.exe --version
此外,在启动 code.exe
后,控制台会挂起,然后 vscode 状态消息会发送到该控制台(即使不使用 --wait
开关)。如果我关闭控制台,vscode 就会关闭。有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:当通过shell(cmd
或pwsh
)使用代码时,它不使用Code.exe
,而是位于Bin
文件夹下的脚本/批处理文件(code.cmd
) .这些是真正识别命令行开关的应用程序。
这在Command Line Documentation 页面中并不完全清楚,但仔细观察Note 您会发现它确实显示了Program Files\Microsoft VS Code\bin
文件夹。
【讨论】:
进一步澄清,我明确地打电话给Code.exe
。当我尝试调用该批处理文件时,它只是在编辑器中打开了 cli.js
文件。
如果你调用code --version
(在你的脚本之外)会发生什么?
我的 PATH 中没有代码(注意,便携式下载)。除非我在正确的目录中,否则它不会做任何事情。也就是说,它只是启动 VSCode,没有控制台输出。
我不认为这是准确的。经过更多测试,它确实接受 cli-args(能够手动设置扩展名和用户目录),但面向状态的那些(--help
/--version
)不起作用。
查看这个未解决的问题 (github.com/Microsoft/vscode/issues/329)以上是关于code.exe 忽略命令行参数的主要内容,如果未能解决你的问题,请参考以下文章