我发现你可以向Visual Studio Code中的集成式Shell传递参数。结合cmd.exe /K选项,它可以执行由字符串指定的命令但保持打开状态,clink可以被注入。
在VS Code中,转到“文件”>“首选项”>“设置”或使用 Ctrl,
添加以下设置:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\cmd.exe",
"terminal.integrated.shellArgs.windows": ["/K", "C:\\path\\to\\clink\\clink_x64.exe inject"]
这相当于在Windows中打开命令提示符并运行clink_x64 inject
。
使用 "terminal.integrated.shell.windows"
已被弃用。
这已经被弃用,现在推荐的配置默认 shell 的方法是在
#terminal.integrated.profiles.windows#
中创建一个终端配置文件,并将其配置文件名称设置为默认值#terminal.integrated.defaultProfile.windows#
。目前,这将优先于新的配置文件设置,但在未来这将会改变。
这是我使用的配置(将其添加到您的 settings.json
文件中):
"terminal.integrated.profiles.windows": {
"CLink": {
"overrideName": true,
"path": "C:/Windows/system32/cmd.exe",
"args": [
"/k",
"FULLPATH/clink.bat",
"inject",
]
}
},
"terminal.integrated.defaultProfile.windows": "CLink",
针对我的评论进行扩展:
使用以下方式打开settings.json文件:
File > Open > %APPDATA%\Code\User\settings.json
假设您已经使用Chocolatey安装了Clink:
choco install clink-maintained
那么你的clink_x64.exe就在这里:
C:\Program Files (x86)\clink\clink_x64.exe
而你添加到settings.json的行看起来像:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"/K",
"C:\\Program Files (x86)\\clink\\clink_x64.exe",
"inject",
"--profile",
"~\\clink"
],
--profile
... 这将使历史记录在 vscode 会话之间保持持久化。这不是你问题的答案,但有另一个技巧可以在一个窗口中看到cmder和文本编辑器。你可以在cmder中打开你的文本编辑器作为另一个选项卡,我在这里描述了如何做:
https://medium.com/@WMorkowski/protip-integrating-cmder-with-text-editor-7f08a6e76de7
来自文章:
- 运行Cmder。
- 进入“设置->启动->环境”
- 输入:set EDITOR_PATH=C:\Program Files (x86)\Microsoft VS Code\Code.exe alias editor="%EDITOR_PATH%" $1 -new_console:s50V,其中第一行应该键入您的文本编辑器路径(我在Visual Studio Code和Sublime上测试过,但应该也适用于其他编辑器)。
- 保存您的设置。
- 在命令行中键入“editor”命令。
哇!我们快要完成了。但在大多数情况下,您不希望控制台选项卡附加到窗口顶部。您应该关闭控制台选项卡,然后再次打开它,注意勾选“将新控制台拆分到底部”复选框并选择正确的控制台类型。现在,当您最终设置好所有内容后,您应该转到“设置->启动”,并选中“自动保存/恢复已打开选项卡”复选框以保存我们的新工作流程。现在每次运行Cmder时,都会还原您的选项卡设置。
["/K", "C:\\path\\to\\clink\\clink_x64.exe","inject"]
(可能是因为我的路径包含空格),但除此之外它运行良好\o/ - gkalpak%APPDATA%\Code\User\settings.json
。此外,为了使历史记录与clink配合使用,请在inject
之后传入默认配置文件:, "--profile", "~\\clink"
作为另外两个参数。 - phyatt