Windows Terminal 启动目录配置指南:3 类场景下的 settings.json 写法与 wt 参数
【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal
每次新开终端都要先敲 cd 才能进项目目录,这个重复操作可以配掉。本文带你在 Windows Terminal 里配好启动目录:settings.json 在哪、startingDirectory 怎么写、wt 命令怎么临时指定目录,5 分钟能配完,适合刚接触终端配置的用户。
settings.json 在哪里打开,顶层结构怎么看
👉 在 Windows Terminal 里按Ctrl+,,或点标题栏上的设置图标进入设置界面,再点其中的"打开 JSON 文件",编辑器会直接打开:
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json📁 这就是配置文件的实际位置,其中 %LOCALAPPDATA% 通常展开为 C:\Users\用户名\AppData\Local。设置界面和这个 JSON 文件是同一份数据的两个入口,不熟悉界面时直接编辑文件更省事。
文件顶层包含几个区块:
profiles:终端配置列表,每个 profile 对应一种终端,PowerShell、CMD、WSL 发行版各占一项schemes:颜色方案定义actions:快捷键绑定
跟启动目录直接相关的只有一个字段:startingDirectory,写在 profile 对象内部,表示该终端启动时的初始目录。字段定义可对照仓库中的 profiles.schema.json。
固定项目:每次从同一个目录启动
你有一个主力项目,希望打开终端就直接落在项目里。在对应 profile 中加一行 startingDirectory 即可:
"profiles": { "list": [ { "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "name": "Windows PowerShell", "commandline": "powershell.exe", "startingDirectory": "D:\\Projects\\MyApp" } ] }注意:JSON 字符串里反斜杠必须写成\\,也可以改用正斜杠D:/Projects/MyApp,两种写法都生效。
效果:之后从这个 profile 开出的终端,初始目录都是D:\Projects\MyApp,不再需要先 cd。
多项目切换:用环境变量代替绝对路径
目录不固定、但都挂在同一个根目录下时,把路径写成变量引用:
"startingDirectory": "%USERPROFILE%\\Documents\\Projects"常用系统变量:
%USERPROFILE%、%HOMEPATH%:当前用户主目录(C:\Users 下以用户名命名的文件夹)%SYSTEMROOT%:Windows 安装根目录,一般是 C:\Windows%APPDATA%:用户应用数据目录;%TEMP%:临时文件目录
也可以在系统里自建变量,比如把MY_PROJECTS指向D:\Projects,配置里写%MY_PROJECTS%\\WebDevelopment。换盘符或换机器时只改系统变量,各 profile 一个都不用动。
效果:profile 保持稳定,目录跟着变量走。
临时目录:用 wt -d 参数覆盖
一次性任务,不想碰配置文件。命令行启动时加参数:
wt -d "D:\Temp\TestProject"-d的完整写法是--starting-directory;要同时指定终端类型:
wt -p "Command Prompt" -d "C:\Windows\System32"效果:只对这一次启动生效,默认配置保持原样。
WSL 的启动目录怎么写
WSL 的 profile 有两种写法。
第一种,用 Windows 侧的 UNC 路径指向发行版内部目录:
"startingDirectory": "\\\\wsl$\\Ubuntu\\home\\username\\projects"注意 JSON 里开头是四个反斜杠,解析后才是\\wsl$\...这种形式;前提是装了对应发行版,且 WSL 处于可访问状态。
第二种,把波浪号交给 shell 自己解析:
"startingDirectory": "~"效果:终端直接落在该发行版的用户主目录。
同一种终端怎么建多个入口
给不同项目各建一个 profile,commandline 相同,只有名字、目录、图标不同:
[ { "name": "PowerShell - 后端", "commandline": "powershell.exe", "startingDirectory": "D:\\Projects\\Backend", "icon": "D:\\Icons\\backend.ico" }, { "name": "PowerShell - 前端", "commandline": "powershell.exe", "startingDirectory": "D:\\Projects\\Frontend" } ]配好后新建标签页时,从菜单里挑项目名即可,选哪个就从哪个目录启动。
改了配置不生效怎么查
| 现象 | 可能原因 | 处理动作 |
|---|---|---|
| 保存后启动目录没变化 | 改的不是实际加载的文件,或改完没有重启 | 确认编辑的是上文 settings.json 的路径,完全退出 Windows Terminal 后重开 |
| 启动时报配置错误 | 反斜杠或引号没转义,JSON 解析失败 | 用任意 JSON 校验工具检查;路径反斜杠写成\\,或改用正斜杠 |
| 路径带空格时不生效 | JSON 值里多加了一层引号 | 去掉多余引号,直接写"C:\\Program Files\\My Project",空格由解析器自动处理 |
| WSL 目录提示无法访问 | 发行版未运行或路径格式不对 | 先手动启动一次发行版,路径按\\wsl$\Ubuntu\...形式重写 |
| 目录存在却进不去 | 当前账户权限不足 | 换有权限的账户验证,或改用一个确定可访问的目录 |
三步落地清单
- 按
Ctrl+,进入设置,点"打开 JSON 文件",定位到 settings.json。 - ✏️ 在目标 profile 中写入
"startingDirectory": "路径",反斜杠写成\\,保存。 - ✅ 完全退出并重启 Windows Terminal,新开一个标签,确认提示符停在目标目录;临时换目录时直接用
wt -d参数。
【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考