VS Code 新建文件默认无后缀,files.defaultLanguage 仅影响语法高亮而非文件名;保存时需手动输入如 main.py 才生成带后缀文件;可通过官方 Python 扩展的“Python: New File”命令或 File Templates 扩展实现自动添加后缀。

VS Code 新建文件时不会自动加后缀,这是设计如此
双击选项卡栏或按 Ctrl+N 创建的新文件,默认是无扩展名的纯文本(untitled-1),VS Code 不会、也不能强制给它加 `.py` 或 `.js` 等后缀——它只管语言模式,不管文件名。你看到的“默认用 Python”其实是 files.defaultLanguage 在起作用,它只影响语法高亮和智能提示,跟保存时的扩展名无关。
设置 files.defaultLanguage 让新文件带 Python 语法支持
这个设置能让你新建的空白文件立刻获得 Python 的补全、缩进、括号匹配等能力,但不生成 `.py` 文件:
- 打开设置:
Ctrl+,(Windows/Linux)或Cmd+,(Mac) - 搜索
files.defaultLanguage - 把值设为
python(注意不是py或.py) - 保存后,新文件右下角语言标识会变成
Python,但文件名仍是untitled-1
如果你用的是其他语言,比如 JavaScript,就填 javascript;HTML 填 html。填错(如填 js)会导致语言模式不生效。
真正让文件带 `.py` 后缀,靠的是保存时手动输入
VS Code 没有“新建即带后缀”的原生机制。唯一可靠的方式是:按 Ctrl+S 保存时,在弹出的对话框里直接输入完整文件名,例如:
main.pyutils.jsindex.html
输完回车,VS Code 就会以该名称和扩展名创建文件,并自动应用对应语言模式。如果只输 main,它会存成 main(无后缀),后续还得重命名。
常见错误:保存时没写后缀,结果文件是 main 而不是 main.py,导致运行报错 ModuleNotFoundError 或终端提示“command not found”。Python 解释器根本不会认这种文件。
想免手动?只能靠扩展或命令面板
VS Code 官方不提供“双击选项卡自动建 .py 文件”的功能。可行替代路径只有两个:
- 安装
File Templates扩展,配置一个模板,再通过右键菜单或快捷键触发,生成带后缀的文件 - 用命令面板:
Ctrl+Shift+P→ 输入Python: New File(需已安装官方 Python 扩展),它会直接新建并打开一个Untitled-1.py文件
注意:Python: New File 命令不是所有 Python 扩展都自带,得确认你装的是微软官方的 ms-python.python。其他第三方 Python 插件可能没这个命令。
别指望改系统级默认应用或重启 VS Code 能解决后缀问题——那些操作对新建文件行为完全无效,纯属误导。


















