双击文件用VSCode打开需修改Windows系统级文件关联,而非VSCode的files.associations;后者仅控制内部语言模式高亮。应在“设置→应用→默认应用→按文件类型指定默认应用”中将.log等扩展名手动关联至Code.exe路径,并勾选“始终使用此应用打开”。

双击文件用 VSCode 打开,不是改 files.associations,而是改 Windows 系统级文件关联;VSCode 内部的 files.associations 只影响它自己打开文件时用什么语言模式高亮,跟“双击启动哪个程序”完全无关。
怎么让双击 .log 文件自动用 VSCode 打开
这是操作系统行为,和 VSCode 设置无关。关键在 Windows 的“按文件类型指定默认应用”:
- 打开
设置 → 应用 → 默认应用 → 按文件类型指定默认应用 - 搜索
.log,点右侧当前程序,选“查找其他应用” - 定位到
C:\Users\{username}\AppData\Local\Programs\Microsoft VS Code\Code.exe(注意替换{username}) - 务必勾选“始终使用此应用打开 .log 文件”,否则下次双击仍弹出选择框
- 别误选
resources\app\out\vs\code\electron-sandbox\workbench\workbench.html这类路径——那是渲染进程入口,不能当可执行文件
为什么改了 files.associations 但双击还是不用 VSCode
因为 files.associations 是 VSCode 自己的内部映射表,只在它已启动、且你通过“文件 → 打开”或拖入窗口等方式加载文件时起作用。它不参与系统级调度。
- 典型混淆场景:
"*.env": "shellscript"让 VSCode 对.env文件启用 Shell 高亮,但双击.env是否唤起 VSCode,取决于 Windows 是否把.env关联给了Code.exe - 验证方式:右键
.env文件 → “打开方式”,看 VSCode 是否在列表里;不在就说明系统没关联,files.associations再准也没用 - 如果想让 Git 提交时调用 VSCode 编辑 commit message,必须用
git config --global core.editor "code --wait",漏掉--wait会导致 Git 立即提交空内容
如何批量关联一堆自定义后缀(如 .conf、.ini、.env)
手动一个个点太慢,推荐用控制面板强制注册未列出的扩展名:
- 打开控制面板 → “默认程序” → “将文件类型或协议与程序关联”
- 点“新建”,输入
.conf→ 确定;再新建.ini、.env等 - 在列表中逐个选中,点“更改程序…”,浏览并指向
Code.exe - 这条路径比设置应用更底层,对未出现在“按文件类型指定默认应用”里的扩展名更可靠
- 若后续重装 VSCode 导致路径变化,只需重新指向新位置的
Code.exe,无需改任何 JSON
真正容易被忽略的是:系统级关联和编辑器内部语言识别是两套独立机制,混用就会卡在“明明配了却没反应”的状态。先确保双击能唤起 VSCode,再调 files.associations 做语法支持,顺序错了,所有配置都白忙。


















