Sublime如何快速创建一个新文件并保存? (AdvancedNewFile插件)

12次阅读

AdvancedNewFile插件需通过Package Control安装:调用命令面板输入“Package Control: Install Package”,再搜索安装;安装后用Ctrl+Alt+N(win/linux)或Cmd+Alt+N(macOS)触发,输入相对项目根目录的路径(如src/utils/helpers.js)即可创建并打开文件。

Sublime如何快速创建一个新文件并保存? (AdvancedNewFile插件)

AdvancedNewFile插件怎么安装才不会失败?

插件没装上,后续所有操作都无从谈起。常见失败原因是直接拖拽 ZIP 文件进 Packages 目录,或用了不兼容的 sublime 版本。

  • Ctrl+Shift+Pwindows/Linux)或 Cmd+Shift+PmacOS)呼出命令面板,输入 Package Control: Install Package 回车
  • 等待列表加载完成,再输入 AdvancedNewFile,选中后回车安装
  • 确认安装成功:重启 Sublime 后,Ctrl+Alt+N(Windows/Linux)或 Cmd+Alt+Nmacos)应能唤出路径输入框;若无反应,检查是否被其他插件快捷键冲突
  • sublime text 4 用户注意:部分旧版 AdvancedNewFile 不兼容,需确保安装的是最新版(作者仓库已迁移到 gitHub,Package Control 通常会自动同步)

按快捷键后怎么输路径才能立刻创建并打开?

快捷键触发后,底部出现输入框,这里不是普通文件名,而是相对项目根目录的完整路径 —— 这点最容易卡住新手。

  • 想在当前项目下建 src/utils/helpers.js,直接输入 src/utils/helpers.js 回车即可,插件会自动创建中间所有不存在的文件夹
  • 支持 ~/ 表示用户主目录(如 ~/Desktop/test.txt),但不支持 ./../
  • 如果当前没有打开文件夹/项目,插件默认以 Sublime 启动时的工作目录为根;建议先用 Project → Add Folder to Project 显式设置根目录,避免路径解析混乱
  • 输入时支持 Tab 补全已有文件夹名,但仅限当前层级已存在的目录

保存时为什么提示“Permission denied”或“no such file or Directory”?

错误不是插件导致的,而是路径权限或磁盘挂载问题,但插件把底层报错暴露得特别直接。

  • Permission denied:目标路径所在分区是只读(如 NTFS 分区挂载为只读、某些 Linux 外接硬盘默认 noexec),或父目录权限不足(尤其 macOS 上 icloud Drive 同步中目录常临时不可写)
  • No such file or directory:看似路径写了,但 Sublime 实际没权限读取父级目录(例如 /var/log/myapp/,普通用户无法进入 /var/log),此时插件连“创建文件夹”这步都失败
  • 快速验证:在终端里手动执行 mkdir -p /your/pathtouch /your/path/test.txt,如果也失败,说明是系统级限制,不是插件问题
  • 绕过方法:换一个你有完全控制权的路径,比如项目文件夹内,或 ~/Documents

如何自定义快捷键或禁用自动打开新文件?

默认行为是“创建即打开”,但有时只想建空文件占位,或快捷键和其它工具冲突。

  • 修改快捷键:菜单栏 Preferences → Key Bindings,在右侧用户键绑定里添加(注意补全 args 中的 open_file):
[     {         "keys": ["ctrl+alt+m"],         "command": "advanced_new_file",         "args": {"open_file": false}     } ]
  • open_file: false 表示只创建文件,不打开编辑器标签页;设为 true(默认)则立即打开
  • 想让插件跳过确认步骤(比如确定要覆盖同名文件时不再弹窗),加 "confirm_overwrite": falseargs
  • 所有可配参数见插件 github README 的 Settings 小节,不要改默认配置文件,只在用户配置里覆盖

真正容易被忽略的是:AdvancedNewFile 的路径解析依赖 Sublime 当前的“项目上下文”,而不是当前打开的文件位置。哪怕你正编辑 /a/b/c.py,只要没把 /a 加入项目,输入 b/d.txt 就会在 Sublime 启动目录下创建,而不是 /a 下。

text=ZqhQzanResources