我需要更改 Windows 终端查找 settings.json 文件的默认文件夹。从C:\Users%USER%\AppData\Local\Microsoft\Windows 终端我个人c:\tools\windowsterminal。原因是 c:\tools 处于版本控制之下,我想使其保持最新状态以便在我的几个工作站之间共享。
我该如何实现这一点?作为一种解决方法,也许有一个选项可以使用特定参数从 cmd 启动 WindowsTerminal?
请注意,我知道如何为特定终端设置起始目录,但这不是我想要的。
答案1
您可以mklink
在命令提示符中使用该命令。
您应该使用 /H 来创建所谓的“硬链接”。请先移动文件。
像这样:
mklink /H "C:\Users\Sloven\AppData\Local\Microsoft\Windows Terminal\settings.json" "C:\tools\windowsterminal\settings.json"
将“Sloven”替换为您在电脑上使用的用户名。
有关详细信息,请参阅https://en.wikipedia.org/wiki/Symbolic_link#Microsoft_Windows或者谷歌搜索“符号链接窗口”
Windows 终端的命令行参数可以在这里找到:https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows
答案2
把它留在这里,以免有人在谷歌上搜索 Powershell 解决方案
New-Item -ItemType HardLink -Path "C:\Users\Sloven\AppData\Local\Microsoft\Windows Terminal\settings.json" -Target "C:\tools\windowsterminal\settings.json"
答案3
我发现使用符号链接适用于 Windows 终端。因此这似乎是一种首选方法,因为它可以更明显地显示“官方”文件的位置。
如果您打开了任何 Windows 终端,则删除 settings.json 文件后,始终会创建该文件。因此,运行 mklink 命令很棘手。我在 Windows 11 Preview 上所做的是右键单击 C:/Windows/system32/cmd.exe 并以管理员身份运行它,这样您就可以实际运行旧版 cmd.exe(奇怪的是,只需双击它即可启动新的终端),然后您就可以运行 mklink。
答案4
替代(现代)选项可能是:
- 安装Windows Terminal 的便携版本
- 通过舀包管理器
- 因此,配置位于
$ScoopDir\persist\windows-terminal\settings\settings.json
($ScoopDir
默认为~/scoop/
) - 并且可以对所有应用程序进行版本控制,为
persist
文件夹创建 Git 存储库
好处:
- 定位到任意位置:运行 scoop installer 并指定
-ScoopDir
- 直接的备份和恢复过程:只需复制单个文件夹
- 保持应用程序最新:使用
scoop update *
- 无需访问 Microsoft Store:有时是企业限制
- 无需管理权限:就像巧克力替代品一样