Windows Terminal 与 WSL 使用技巧
1. Windows Terminal vs PowerShell:躯壳与灵魂
你可以把它们的关系想象成 “电视机” (Windows Terminal) 和 “电视频道” (PowerShell)。
- Windows Terminal (终端模拟器):
- 它是“电视机”。
- 它只负责 “显示”。它管理窗口的大小、背景颜色、字体、标签页(Tab)、分屏(Pane)。
- 它本身不懂你在打什么命令。你打
ls,它只是把字符传给后台;后台传回结果,它负责把结果渲染在屏幕上。 - 因为它只是个“显示器”,所以它可以显示 PowerShell 的画面,也可以显示 CMD 的画面,甚至可以显示 WSL (Ubuntu) 的画面。这就是为什么你在 Windows Terminal 的下拉菜单里能看到那么多选项。
- PowerShell (Shell / 解释器):
- 它是“电视频道/节目内容”。
- 它负责 “思考”。它是一个程序,负责接收你的指令(比如
cd、python),去操作系统里执行,然后把结果(文本)吐出来。 - 它没有“窗口”的概念,它只管处理字符流。
总结: 刚才我们遇到的跳转问题,是 PowerShell(频道) 只要一开播就读取了自己的剧本(配置文件),但我们在 Windows Terminal(电视机) 的设置里改配置,是治标不治本的,除非直接把那个“剧本文件夹”删了。
2. 如何像 CS 高手一样高效使用 Windows Terminal?
作为 CS 学生,你不需要鼠标点点点,你的手应该永远在键盘上。
A. 掌握“忍术”快捷键 (必须形成肌肉记忆)
Windows Terminal 的快捷键设计逻辑和 VS Code 非常像:
- 多任务分屏 (Pane):这是最酷的功能。一边跑服务器 log,一边跑客户端测试。
Alt+Shift+D:自动切分屏幕(左右或上下)。Alt+方向键:在分屏之间切换焦点。Ctrl+Shift+W:关闭当前分屏。
- 标签页管理:
Ctrl+Shift+T:新建标签页。Ctrl+Tab:切换标签页。
- 命令面板 (Command Palette):
Ctrl+Shift+P:就像 VS Code 一样,弹出一个搜索框,你可以搜“分屏”、“改颜色”、“改字体”,不用去记所有快捷键。
B. 配置文件 (settings.json) 的妙用
既然你已经看过 settings.json 了,你可以利用它做更多定制:
- 设置默认启动项:如果你以后主要用 WSL (Ubuntu) 开发,可以在
settings.json里把defaultProfile的 GUID 改成 Ubuntu 的 GUID。这样打开终端直接进 Linux,不用切。 - 美化 (Nerd Fonts):去下载一个 Nerd Font (比如
MesloLGS NF),然后在配置里启用它。这样你的终端就能显示那个酷炫的 ➜ 图标、Git 分支图标和各种编程语言的 Logo。
3. WSL (Windows Subsystem for Linux) 的高效打开方式
WSL 是微软给开发者最好的礼物,它让你在 Windows 上拥有了完整的 Linux 内核。
A. 核心口诀:code .
这是连接 Windows 和 Linux 的虫洞。
- 在 Windows Terminal 里进入 Ubuntu (WSL)。
- 用
cd命令进入你的项目文件夹。 - 输入
code .并回车。 奇迹发生: 它会打开 Windows 上的 VS Code,但 VS Code 的“后端”是连接在 Linux (WSL) 里的!
- 你的代码跑在 Linux 环境里(环境隔离,不论是 Python 还是 Node.js 都很纯净)。
- 你的编辑器用的是 Windows 的图形界面(流畅,快捷键熟悉)。 这是目前最主流的 Full Stack 开发模式。
B. 文件系统的“传送门”
- 从 Windows 找 Linux 文件:在资源管理器地址栏输入
\\wsl$。你可以像访问 U 盘一样访问 Linux 里的文件。 - 从 Linux 找 Windows 文件:Windows 的 C 盘挂载在
/mnt/c。- 比如你想在 Linux 里处理桌面上的文件:
cd /mnt/c/Users/jh/Desktop。
- 比如你想在 Linux 里处理桌面上的文件:
C. 别在 NTFS 文件系统里跑 Linux 项目! (重要坑点)
虽然 Linux 能访问 /mnt/c,但不要把你的 Node.js 或 Python 项目放在 Windows 的文件夹里(比如 D:\AUPC)然后用 WSL 去跑。
- 原因:跨文件系统 IO 速度极慢(慢 10 倍以上),而且会有文件权限问题。
- 正确做法:把项目存在 Linux 自己的文件系统里(比如
~/projects/),然后用code .去编辑它。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 寒酥梦的温暖小窝(施工中ing)!

