通过配置 settings.json 中的 files.associations 规则,如 "*.myext": "javascript",可使 vscode 识别 .myext 文件并启用 javascript 语法高亮与智能提示;新建文件需手动输入完整文件名(如 name.myext)或保存时指定后缀,配置仅对已保存或带扩展名的文件生效。

VSCode 本身不支持“新建文件时直接选择自定义扩展名”的交互式弹窗,但能通过配置让编辑器识别并正确处理你自定义的扩展名(比如 .myext、.config),关键在文件关联与语言模式绑定。
怎么让 VSCode 识别 .myext 并启用语法高亮
VSCode 不会自动猜你自定义扩展名该用什么语言,必须显式告诉它。核心是修改 settings.json 中的 files.associations:
- 按
Ctrl + Shift + P(Mac 为Cmd + Shift + P),输入Preferences: Open Settings (JSON)打开配置文件 - 添加或修改
files.associations字段,例如:"files.associations": { "*.myext": "javascript", "*.tpl": "html", "*.env.local": "ini" } - 保存后,新建或打开
foo.myext文件,右下角语言模式会显示JavaScript,语法高亮和补全就生效了 - 语言标识符必须准确——
javascript可用,js或JS就不行;不确定时,打开一个真实.js文件,点击右下角语言名 → “Configure File Association for ‘JavaScript’…” 查看推荐 ID
新建文件时怎么快速得到 .myext 后缀
VSCode 没有“新建文件 → 下拉选扩展名”的原生功能,但有几种可靠路径:
-
资源管理器右键新建:在左侧文件资源管理器中右键目标文件夹 → “新建文件” → 直接输入
name.myext(注意带点和后缀),回车即创建并打开 -
终端命令创建:集成终端(
Ctrl + `)中执行:touch config.myext && code config.myext(Linux/macOS);Windows 可用type nul > config.myext && code config.myext -
快捷键新建 + 手动保存:按
Ctrl + N新建空白文件 → 编辑内容 →Ctrl + S→ 在保存对话框里输入完整文件名,如script.myext,选好目录后保存 - 别依赖双击选项卡栏——它只受
files.defaultLanguage影响,不会自动加扩展名;设成python也只会高亮,不会帮你写.py
为什么新建的 .myext 文件还是纯文本?
常见失效原因不是配置错,而是触发条件没满足:
-
files.associations规则只对**已保存的文件**或**带扩展名的文件**生效;用Ctrl + N新建未保存文件,状态栏显示“未命名-1”,此时右下角语言模式仍是“Plain Text”,需手动点它 → 选对应语言(如 JavaScript),之后再保存才会记住.myext - 拼写错误:检查
settings.json中是否多写了空格、逗号缺失、引号不匹配,VSCode 会静默忽略整个files.associations块 - 工作区设置覆盖用户设置:如果当前文件夹有
.vscode/settings.json,它可能重写了files.associations,优先级更高 - 重启不是必须的,但改完配置后,重新打开一个
.myext文件才能验证——不要只刷新已有标签页
最易被忽略的一点:VSCode 的语言模式绑定是“扩展名 → 语言 ID”,不是“语言 ID → 扩展名”。你配了 "*.myext": "javascript",它就知道打开 xxx.myext 时用 JS 模式;但它不会因为你设了 files.defaultLanguage 为 javascript,就在新建文件时自动给你 .myext 后缀——这两件事完全解耦。











