我在VSCode
中使用cmder
作为终端。我试图在VSCode
中集成powershell
和cmder
。我看到在powershell
的cmder
配置中,以下内容是作为参数传递的:
"-ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command" "Invoke-Expression '. ''C:\\cmder\\vendor\\profile.ps1'''"
我尝试在user.settings
中这样使用它:
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command \"Invoke-Expression '. ''C:\\cmder\\vendor\\profile.ps1'''\""]
然而,终端在打开时崩溃。
我想我需要一些帮助或指导。谢谢。
发布于 2017-08-27 09:25:55
您不能将参数作为一个大字符串传递到该设置中。它通过以逗号分隔的形式传递它们来解析它。
我还从this issue on GitHub中发现,Invoke-Expression
方法永远不会调用该文件,因此提供了下面的正确方法。
另外,请注意,您在下面的屏幕截图中看到的错误是因为cmder
附带的配置文件没有正确编码。
您需要以以下格式将参数添加到设置文件中:
"terminal.integrated.shellArgs.windows": [
"-ExecutionPolicy",
"Bypass",
"-NoLogo",
"-NoProfile",
"-NoExit",
"-Command",
". 'C:\\tools\\cmder\\vendor\\profile.ps1'"]
编辑
试图找出显示的错误似乎有一点错误,因为在打开cmder
之后,环境变量$env:CMDER_ROOT
会正确显示。但是,在上面的代码中启动它之后,由于某种原因,它显示CMDER_ROOT被设置为C:\
。有些事情你必须自己弄清楚,或者向维护软件的人请教。
发布于 2018-02-22 19:56:40
要修复路径错误,您可以设置设置路径
$env:CMDER_ROOT = "path to CMDER e.g. D:\cmder_mini";
https://stackoverflow.com/questions/45776074
复制相似问题