Windows Terminal CMD 终端配置方案: 不只是酷炫外观

大一的时候小学期我们还是用 Windows cmd 终端写的订餐系统,尽管进我们所能地改了改配色,成品还是让人不忍直视。

当时学习遇到的大多数运行需求可以通过 IDE 解决,再加上 CMD 丑成这样,挺让人抵触的。

后来对命令行操作的学习需求逐渐增加,大二的时候我发现了一款较为美观的 Windows 终端软件:Windows Terminal。当时可能还在测试,需要去应用商店手动下载,好像现在的新电脑自带默认 CMD 窗口就是 Windows Terminal 了。

功能上和普通的 CMD 一样,我当时看重的点在于字体好看了许多,再加上配置文件里可以设置自己喜欢的配色方案,毛玻璃效果,真的越看越喜欢。

不过,它还不止于此。

配置方式

Windows Terminal 可以直接在设置选项中配置,也可以手动编译 setting.json 文件。

比如,这种毛玻璃半透明的终端效果是如何设置出来的?我们需要勾选3个选项:外观------在选项卡中使用亚克力材料,默认值------外观------透明度------启用亚克力材料,默认值------外观------透明度------自行设置想要的透明度,保存后在新窗口中就能看到其效果。

或者我们点击左下角的 "打开 JSON 文件",在其中进行配置,两者操作是等效的,配置完成点击保存的时候可以看到 settings.json 文件里面也发生了相应的改变。

现在我们已经熟悉了配置方式。

打开我们想要的终端

比如我想打开 python 环境,方式如下:

  1. 打开终端 CMD 窗口。
  2. 输入 python ,按下回车。
  3. 终端窗口进入 python 环境。

类似的启动需求还有很多,比如 mysql,git bash,wsl 等。

那么可不可以自定义几个配置窗口,比如 Python 窗口,打开的时候自动输入 python 进入 python 环境?或者自动进入某个特定目录文件夹?完全可以。

在"设置------配置文件"中,我们选择添加配置文件。

点击新建一个配置文件而不复制原有配置,可以看到配置项如下:

名称:标签页的标题,便于我们查看。

启动目录:打开这个标签页时,默认进入哪个文件夹。

命令行:打开这个标签页时可以执行的一个可执行文件。默认是 cmd,也就是默认打开 cmd 窗口。

这里我选择我自己的 python 文件路径:

这个路径具体在哪里要看你安装时候选择的目录。如果忘记了,可以去环境变量中查看 python 项的目录。

其他选项还可以配置是否以管理员权限启动,外观,显示图标等(我的显示图标选择了 python dll 文件夹里的 ico 文件)。

点击保存后,我们尝试新建一个选项卡,可以看到多出了我们刚刚设置的配置项:PythonTest。

点击选择新建一个 pythonTest 窗口,显示如下:

可能你会觉得,这玩意我打开终端输入一个 python 按下回车不就行了吗,我这能省多少功夫?

这只是一个简单的示例,因为 python.exe 我加入了环境变量中,所以直接使用也很方便。对于一些特定文件目录需要跳转执行的情况,要么手动添加环境变量,要么可以尝试我的这种方法一键打开。

再比如,尝试过 GPT API 的同学可能比较熟悉进入其虚拟环境的方式:

我们从官网上克隆下载了 openai-env 虚拟环境后,每次需要执行其中的 Scripts\activate.bat 文件,要么进入该目录文件夹下,再打开 CMD 窗口,输入该指令;要么在环境变量中添加 openai-env 的路径后,每次我们可以直接使用环境变量:%OPENCV_ENV_PATH%/Scripts/activate 。但是这样也很麻烦。

那么我们尝试新建一个专属于 openai-env 的配置项:

启动目录:我 openai-env 文件夹所在的位置。其实不写也行。

命令:cmd.exe /K C:\Proj\openai\openai-env\Scripts\activate.bat

这里不直接 openai-env\Scripts\activate.bat 是因为这个脚本执行完成后终端窗口不会保留,直接窗口关闭了。我们如果想继续在开启了虚拟环境的终端窗口中继续操作,需要在前面加上 /K 指令来禁止窗口关闭。

(然后我搞了一个 openai 官网图标,仅仅是为了好看~)

当然,还有更多类似的扩展方式。比如打开 mysql,wsl;在特定目录下打开 git bash 窗口,快速进入自己的项目;在打开 gpt 工具前先默认执行一定的 prompt 角色扮演指令(如:"你是一名 IT 专家"),一键打开和 IT 专家的对话窗口......

相关推荐
~yY…s<#>1 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
XuanRanDev3 小时前
【每日一题】LeetCode - 三数之和
数据结构·算法·leetcode·1024程序员节
代码猪猪傻瓜coding3 小时前
力扣1 两数之和
数据结构·算法·leetcode
EricWang13583 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
我是谁??3 小时前
C/C++使用AddressSanitizer检测内存错误
c语言·c++
南宫生4 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
希言JY4 小时前
C字符串 | 字符串处理函数 | 使用 | 原理 | 实现
c语言·开发语言
午言若4 小时前
C语言比较两个字符串是否相同
c语言
weixin_432702265 小时前
代码随想录算法训练营第五十五天|图论理论基础
数据结构·python·算法·深度优先·图论
passer__jw7675 小时前
【LeetCode】【算法】283. 移动零
数据结构·算法·leetcode