通过编写Python脚本修改settings.json中的workbench.colorTheme值,结合系统定时任务,可实现VSCode按时间自动切换主题:白天7点设为Default Light+,晚上19点设为Default Dark+,无需插件即可完成自动化切换。

想让VSCode根据时间自动切换主题,比如白天用浅色主题、晚上用深色主题,其实不需要依赖插件也能实现。通过简单的脚本和系统任务计划,就能搭建一个自动主题调度系统。
理解VSCode主题设置原理
VSCode的主题由配置文件settings.json中的workbench.colorTheme控制。例如:
"workbench.colorTheme": "Default Dark+"
只要定时修改这个值,并重启VSCode或触发重载,就能实现主题切换。
编写主题切换脚本
可以写一个Python或Node.js脚本来动态修改配置文件。以下是Python示例:
import json import os from datetime import datetimeVSCode settings.json 路径(根据操作系统调整)
config_path = os.path.expanduser( "~/Library/Application Support/Code/User/settings.json" # macOS
"~/.config/Code/User/settings.json" # Linux
# r"%APPDATA%\Code\User\settings.json" # Windows(需处理环境变量))
def set_vscode_theme(theme_name): if os.path.exists(config_path): with open(config_path, 'r', encoding='utf-8') as f: config = json.load(f)
config["workbench.colorTheme"] = theme_name with open(config_path, 'w', encoding='utf-8') as f: json.dump(config, f, indent=4) print(f"主题已切换为: {theme_name}") else: print("未找到 settings.json 文件")根据当前时间决定主题
now = datetime.now().hour if 7
设置定时任务
让脚本每天自动运行,需要借助系统级任务调度工具。
macOS/Linux(使用cron):
终端输入crontab -e,添加:
网趣购物系统加强升级版下载新版本程序更新主要体现在:完美整合BBS论坛程序,用户只须注册一个帐号,即可全站通用!采用目前流行的Flash滚动切换广告 变换形式多样,受人喜爱!在原有提供的5种在线支付基础上增加北京云网支付!对留言本重新进行编排,加入留言验证码,后台有留言审核开关对购物系统的前台进行了一处安全更新。在原有文字友情链接基础上,增加LOGO友情链接功能强大的6种在线支付方式可选,自由切换。对新闻列表进行了调整,
0 7 * * * /usr/bin/python3 /path/to/switch_theme.py
0 19 * * * /usr/bin/python3 /path/to/switch_theme.py
这表示早上7点切到亮色,晚上7点切到暗色。
Windows(使用任务计划程序):
- 打开“任务计划程序”
- 创建基本任务,设定每天7:00和19:00触发
- 操作选择“启动程序”,程序为python.exe,参数为脚本路径
注意事项与优化建议
VSCode不会实时监听配置变化,所以切换后最好手动按 → “Reload Window”,或用AppleScript/PowerShell自动发送重载命令。
也可以结合地理位置获取日出日落时间,使切换更自然。比如用sunrise-sunset.org API 动态计算切换时间。
基本上就这些,不复杂但容易忽略路径和权限问题。确保脚本能正确读写settings.json,并测试一次是否生效。










