前言
哎呀,不是很喜欢把什么东西都塞到环境变量里去,感觉乱乱的。
但是,只要使用Anaconda自带的终端就都迎刃而解了,人家Anaconda都给了终端了为什么不用呢。
但是作为VSCode狂魔,什么东西都想放在VSCode里,如果要另外开个终端实在是太麻烦了!所以记录一下在VSCode里使用Anaconda终端,以Anaconda Powershell Prompt 为例。
网上给了一些办法不是很好用,终端的问题其实有更本质的解决方法,其实无论哪个终端配置,都是适用的。
VSCode 的终端结构
在VSCode的Settings.json
中可以发现"terminal.integrated.profiles.windows"
包含了在VSCode中全部可用的终端,所以我们自己整一个也没有问题!
以我的为例:
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
},
分析结构,根据经验可以猜测得出"path"
是路径,"arg"
是参数,终端调用应该是调用目标路径的可执行文件并加上后面的参数。
Anaconda终端
打开Anaconda终端的快捷方式的属性中可以看到目标
栏后面的形式是调用了一个终端PowerShell
并且加了一堆参数,这个调用的实现原理和VSCode的终端是一致的。
举个栗子,我的长这样:
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'D:\Program Files\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'D:\Program Files\anaconda3' "
-ExecutionPolicy ByPass
:允许 PowerShell 执行未经签名的脚本。
-NoExit
:确保 PowerShell 窗口在执行命令后不会自动关闭。
-Command
:执行指定的命令。
& 'D:\\Program Files\\anaconda3\\shell\\condabin\\conda-hook.ps1'; conda activate 'D:\\Program Files\\anaconda3'
:首先加载 conda-hook.ps1 脚本,然后激活 Anaconda 环境。
但实际上什么意思并不重要,我们只需要知道后面的都是调用的参数即可。
VSCode的终端配置
我们只要参照上面的结构,有样学样,然后稍作修改即可
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"Anaconda Powershell": {
"path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"args": [
"-ExecutionPolicy", "ByPass",
"-NoExit",
"-Command",
"& 'D:\\Program Files\\anaconda3\\shell\\condabin\\conda-hook.ps1'; conda activate 'D:\\Program Files\\anaconda3'"
]
},
},
如果是其他的终端同理,这样我们甚至可以通过调控参数来创造个性化的终端,实在是太棒了。
附
可以通过下面的语句实现默认终端的指定。
例如:
"terminal.integrated.defaultProfile.windows":"Anaconda Powershell",
疯
上手VSCode之后会发现真好用,大家都来用VSCode吧,别用什么IDE了。