如何在 VS Code 中正确集成 Cmder?

ram*_*ian 3 cmder visual-studio-code

我想将Cmder shell集成到我的 VS Code 配置中。

我在 Windows 上使用 VS Code 64bit,我尝试settings.json如下修改我的文件,使 Cmder 作为集成终端工作:

"terminal.integrated.shell.windows": "C:\\Program Files\\Cmder\\Cmder.exe",
Run Code Online (Sandbox Code Playgroud)

我重新启动了我的 VS Code 并尝试打开终端。

起初,这个错误消息框出现了:

无法将 ConEmu.xml 文件复制到备份位置!
以管理员身份重新启动 Cmder。

所以,我以管理员身份启动了 VS Code,这使得错误信息消失了;但是,我注意到 VS Code 在另一个单独的窗口中而不是在终端中打开 Cmder 。

如何在 VS Code 终端内运行 Cmder shell?

PS vs 代码文档中的这个注释可以解决吗?

提示:集成终端外壳在 VS Code 的权限下运行。如果您需要使用提升的(管理员)权限或不同的权限运行 shell 命令,您可以使用平台实用程序,例如runas.exe在终端内。”

来自:https : //code.visualstudio.com/docs/editor/integrated-terminal

Dav*_*oua 9

有一个在你的配置文件出错,下面是正确的:

"terminal.integrated.shell.windows": "C:\\Program Files\\Cmder\\Cmder.exe"
Run Code Online (Sandbox Code Playgroud)

应该从 VS Code 中调用Cmder.exe,而应该使用init.bat(根据下面的说明)将 Cmder 集成到 VS Code 中。

您的问题已通过 Cmder 存储库在此处进行了解释。


使 Cmder 在 VS Code 中工作

  1. 确保您使用的是最新版本的 Cmder——在此处下载最新版本

  2. 打开settings.json配置文件,按Ctrl+ ,(Control-Comma) 访问首选项,然后单击Edit in settings.json链接

  3. VS Code 文档在此链接中解释了该过程:
    Can I use Cmder's shell with the terminal on Windows?

    是的,要在 VS Code 中使用 Cmder shell,您需要将以下设置添加到您的settings.json文件中:

    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
    "terminal.integrated.shellArgs.windows": ["/K", "C:\\cmder\\vendor\\init.bat"]
    
    Run Code Online (Sandbox Code Playgroud)
  4. 顺便说一句,您需要替换C:\\cmder为您自己的安装路径。
    提示:\用双反斜线 ( \\)替换单反斜线 ( )。

  5. 请务必阅读官方 Cmder wiki 上的通知:

    请注意使用cmd.exe代替cmder.exe

    提示:请参阅此处有关处理路径中空格的注意事项。
    TL;DR:Cmder 团队不建议这样做,但您可以^在空格之前使用字符来处理路径。

  6. 您无需重新启动 VS Code 即可完成这项工作。
    点击Ctrl+ `(Control-Tilde) 在 VS Code 终端中打开 Cmder!

您可以在此处参考我的回答以获取有关其工作原理的完整说明。


有关的

VS Code 存储库Cmder 存储库也存在类似问题。

  • 非常详细的答案! (4认同)
  • cmd.exe 不是cmder。如果您运行 cmd.exe,您将不会拥有cmder 提供的conemu 环境。因此它可能与 cmder 的扩展 cmd 一起工作,但无法与 git-bash 正常工作,因为它无法理解 ansi 颜色代码在 cmder 中运行时的作用。 (2认同)