ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

三种玩法搞定Windows Terminal主题切换:3行JSON到定时自动变色

三种玩法搞定Windows Terminal主题切换:3行JSON到定时自动变色 三种玩法搞定Windows Terminal主题切换3行JSON到定时自动变色【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal一直用深色模式可白天阳光一晒满屏黑底刺得眼睛疼想换个浅色又不想大晚上自己手动切说白了就是想让Windows Terminal主题切换跟着环境自动走。这篇记录3条路跟系统走、按时间表换色、快捷键随点随切从3行JSON的最小配置聊起挑一条就能上手。先看三种主题切换方案10秒判断看哪段方案要改的东西难度灵活度重启终端才生效跟系统主题走settings.json 加几行低一般只有浅/深两档不用实时跟随定时脚本任务计划程序PowerShell 脚本 一个计划任务中高时间段随便定写完需要刷新设置快捷键随时切绑定一条 keybinding低中手动触发不用即时生效多数人推荐「跟系统走 快捷键」组合日常零维护偶尔想手动换就按一下。只有对「几点几分必须什么颜色」有执念的才值得花时间去写定时脚本。核心实操从3行JSON到完整自动化跟系统主题走settings.json里只改两处按Ctrl,打开设置先在最外层加一行让终端整体跟随系统的浅色/深色模式theme: system再给 profile 指定两套配色浅色模式下用light深色下用darkcolorScheme: { light: Campbell Light, dark: Dracula }第一行决定窗口、标签栏这些外壳跟不跟系统第二组是关键字段——它允许colorScheme不是单个字符串而是一个{light, dark}对象schema 里叫SchemePair细节见 profiles.schema.json。方案名不确定就按CtrlShiftP打开命令面板搜 color scheme内置的全部列在那儿了。到这里你已经能系统切浅色终端自动变浅。下面玩点进阶的。![Windows Terminal配色设置界面](https://gitcode.com/GitHub_Trending/term/terminal/blob/d3b8ed33e6ad2c4807970fae4fab22c82633fd67/doc/specs/?utm_sourcegitcode_repo_files#1564 - Settings UI/appearance.png)进阶一绑个快捷键一键切配色在actions的 keybindings 里加一条{ keys: [ctrlaltc], action: { action: setColorScheme, colorScheme: Solarized Light } }setColorScheme是终端内置动作colorScheme填目标方案名命中快捷键时当前窗格立刻换色不用重启。想来回切换就再绑一条指向别的方案。![Windows Terminal命令面板切换配色方案](https://gitcode.com/GitHub_Trending/term/terminal/blob/d3b8ed33e6ad2c4807970fae4fab22c82633fd67/doc/specs/?utm_sourcegitcode_repo_files#1502 - Advanced Tab Switcher/img/CommandPaletteExample.png)进阶二任务计划程序做定时切换想要「白天浅色、晚上深色」这种不依赖系统主题的固定时段就写个脚本。把下面这段存成ThemeSwitcher.ps1# 按当前小时选配色 $hour (Get-Date).Hour $scheme if ($hour -ge 7 -and $hour -lt 19) { Campbell Light } else { Dracula } # 直接替换 settings.json 里的 colorScheme 值先备份原文件 $p $env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json (Get-Content $p -Raw) -replace (colorScheme:\s*)[^](), $1$scheme$2 | Set-Content $p最后两行干的事正则把colorScheme: 任意旧值整个换成新值再写回文件。然后在任务计划程序里建个每日任务操作选powershell.exe参数-ExecutionPolicy Bypass -File 脚本路径触发器设成你想换色的点比如 18:30即可。注意脚本只改文件改完要在终端里打开命令面板搜 Reload重新加载设置或者直接关窗口重开新配色才落上。踩坑与调优改完不生效、冲突、卡顿都在这Q加了 light/dark 对象重启后颜色没变A这是新版才支持的能力旧版本colorScheme只认字符串theme也只会影响窗口外壳。版本太老就换定时脚本方案或者先升级终端。Qsettings.json 到底在哪A%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json。写脚本改它之前先复制一份改个名当备份别问我怎么知道的。Q系统跟随和定时脚本一起开颜色来回变A两者会打架——脚本把colorScheme改回字符串后{light, dark}对象就没用了表现取决于最后谁写。建议只留一套想「白天跟系统、晚上固定深色」在脚本里加个 if 判断当前系统主题即可。Q开了亚克力效果后风扇狂转AuseAcrylic、opacity、像素着色器都走 GPU 实时渲染集显或老机器先别上。任务管理器里 GPU 占用居高不下就把它关掉。可选锦上添花的视觉调优defaults: { useAcrylic: true, opacity: 90, experimental: { pixelShaderPath: C:\\path\\to\\shader.hlsl } }仓库里 samples/PixelShaders/ 自带一排现成的.hlsl呼吸、扫描线、复古风拷出来填路径就能试。另外分屏状态下重新加载设置所有窗格会一起换主题不会出现一半深一半浅的割裂感延伸与资源doc/specs/%234066%20-%20Theme-controlled%20color%20scheme%20switch.md这个功能的原始设计提案讲清了为什么配色要跟着主题走doc/cascadia/profiles.schema.json想知道某个字段支持哪些取值直接翻这里doc/user-docs/UsingJsonSettings.mdsettings.json 的通用使用文档samples/PixelShaders/实验性像素着色器示例CONTRIBUTING.md想给这个功能提想法或补丁从这入手以上就是我实测下来比较顺手的几种切法先改3行JSON感受下正反馈再决定要不要上定时脚本。踩到什么奇怪的坑评论区聊聊。【免费下载链接】terminalThe new Windows Terminal and the original Windows console host, all in the same place!项目地址: https://gitcode.com/GitHub_Trending/term/terminal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表