我使用cmder
作为VSCode
内的终端。我试图在powershell
内将cmder
与VSCode
进行整合。
我在cmder
的{{1}}配置中看到,以下内容作为参数传递:
powershell
我尝试在"-ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command" "Invoke-Expression '. ''C:\\cmder\\vendor\\profile.ps1'''"
中使用此功能:
user.settings
然而,终端在打开时崩溃。
我想我可以在这里使用一些帮助或指导。感谢。
答案 0 :(得分:3)
您不能将参数作为一个大字符串传递给该设置。它通过以逗号分隔的方式传递它来解析它。
我也从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:\
。你需要自己弄明白的东西或与维护软件的人核实。
答案 1 :(得分:1)
修复路径错误您可以设置设置路径
$env:CMDER_ROOT = "path to CMDER e.g. D:\cmder_mini";