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 专家的对话窗口......

相关推荐
无限进步_35 分钟前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
重生之我是Java开发战士1 小时前
【算法日记】排序算法:原理、实现、性能与应用
数据结构·算法·排序算法
superman超哥1 小时前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
zz0723201 小时前
数据结构 —— 字典树
数据结构
彭世瑜1 小时前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
液态不合群2 小时前
查找算法详解
java·数据结构·算法
superman超哥2 小时前
仓颉语言中原子操作的封装深度剖析与无锁编程实践
c语言·开发语言·后端·python·仓颉
LYFlied2 小时前
【每日算法】LeetCode 105. 从前序与中序遍历序列构造二叉树
数据结构·算法·leetcode·面试·职场和发展
重生之我是Java开发战士2 小时前
【数据结构】Java对象的比较
java·jvm·数据结构
历程里程碑3 小时前
C++ 16:C++11新特化
c语言·开发语言·数据结构·c++·经验分享