ctrl+n仅新建未保存的untitled标签页,不写入磁盘;真正落地新建文件需用ctrl+shift+p调出命令面板,输入explorer: new file,在当前选中文件夹下创建并自动命名。

Ctrl+N不是新建文件,是新建未保存标签页
按 Ctrl+N(Windows/Linux)或 Cmd+N(macOS)只生成内存中的 untitled-1,右上角带星号 * 表示未保存。它不写入磁盘,不会出现在资源管理器里,关掉窗口就彻底丢失。
常见错误现象:Ctrl+N → 写几行代码 → Ctrl+S → 弹出保存对话框却找不到目标文件夹 → 手动导航半天才存进去。
必须先用 Ctrl+K → O 打开一个文件夹作为工作区,否则没有默认保存路径;Ctrl+N 不会自动跳进 src/utils 这类子目录,全靠手动选。
真正落地的新建方式:命令面板 + Explorer: New File
VSCode 原生不绑定“在当前文件夹新建文件”的快捷键,但 Ctrl+Shift+P 调出命令面板后输入 Explorer: New File 是最稳的替代方案。它会把新文件建在当前选中的文件夹下,路径明确、不跳转、不弹窗选目录。
使用前提:
- 资源管理器已打开(
Ctrl+Shift+E),且鼠标或键盘焦点落在某个**已展开的文件夹内**(比如点中了components文件夹) - 如果没选中任何文件夹,它会默认建在工作区根目录
- 输入完整路径名,如
api/mock.ts或.env.local,回车即创建并打开
右键“新建文件”为什么有时点不出来
右键菜单里“新建文件”变灰或不出现,不是 Bug,而是 VSCode 的上下文限制:它只在两个条件下可用——资源管理器已打开 + 鼠标悬停在**空文件夹内**或**已展开的文件夹空白处**。
容易踩的坑:
- 在未打开任何文件夹的空工作区右键 → 菜单项灰色不可用
- 鼠标点在某个已存在的文件上右键 → 只有“重命名”“删除”,没有“新建文件”
- 点了根节点(比如整个项目名)右键 → 某些版本不支持,只在子文件夹内生效
- 个别文件管理类插件会覆盖原生右键行为,禁用后恢复
终端命令 code xxx.js 是最快路径
如果你已经在集成终端里,code xxx.js 是比命令面板更快的方式——文件不存在时,VSCode 会自动创建并打开。比打开命令面板、输命令、再输文件名更少按键。
实操建议:
- 先
cd到目标目录(比如cd src/lib) - 执行
code hello.c(Windows PowerShell 用户若code不可用,可先运行命令面板里的Shell Command: Install 'code' command in PATH) -
touch hello.c && code hello.c在 macOS/Linux 下也有效;Windows 可用type nul > hello.c && code hello.c
注意:echo "" > hello.c 某些 shell 会在末尾加换行,可能引发后续编译或 lint 报错,不推荐。











