如何在 Windows 终端中更改 settings.json 文件的位置

如何在 Windows 终端中更改 settings.json 文件的位置

我需要更改 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:有时是企业限制
  • 无需管理权限:就像巧克力替代品一样

相关内容