Goland终端PowerShell命令失效
Goland终端Terminal的PowerShell不能使用,明明windows上升级了PowerShell 7设置了配置文件,但是只能在windows终端下使用,goland终端下直接失效报错,安装升级PowerShell请看[博客](Windows11终端升级PowerShell7 - HashFlag - 博客园)
问题:
在goland的终端Terminal中使用PowerShell的时候执行g ls
等配置或安装的命令可能出现报错(Windows终端的Power Shell 7不会出现问题):
Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindowsPS D:\wyl\workspace\go\board> g ls
g : 无法将“g”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路
径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ g ls
+ ~+ CategoryInfo : ObjectNotFound: (g:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
原因:
goland的终端Terminal默认只会使用windows下的 PowerShell 5(问题路径:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe),这可能是因为goland和windows的兼容问题导致的
解决办法:
找到PowerShell 7的可执行文件pwsh.exe,把goland的默认终端选项修改为正确的地址即可,一般golang默认使用的PowerShell 5地址就是这个C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
(这里可能还有其他的比如cmd和git bash等就不介绍了,不人为更改的话默认就是PS)
正确地址(可以直接复制粘贴-如果是PS7-preview版本):C:\Program Files\PowerShell\7-preview\pwsh.exe
如果直接粘贴没有生效或者找不到文件,大概率是版本不同导致的,可以按照C:\Program Files\PowerShell
一级一级找下去,直到找到正确的为止
操作:
路径:Goland > File > Settings > Tools > Terminal > Shell path: > Select Path / Shell executable path
按照上面的路径在goland的设置中找到工具下的终端Terminal的Shell path,点击右侧的...
会弹出一个Select Path的窗口,可以看到Shell executable path的一个标题,标题下面就是查找路径,找到对应的正确的pwsh.exe位置选中即可
验证:
关闭已打开的终端,即可看到默认头已经改变
旧头:
Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindowsPS D:\wyl\workspace\go\board>
新头:
PowerShell 7.6.0-preview.4
PS D:\wyl\workspace\go\board>
再次执行g ls
发现已经可以使用