advancednewfile 在 sublime text 4 上必须安装社区维护分支 advancednewfile_st4 才能正常工作,原版因路径解析不兼容会崩溃;需手动克隆仓库、确保项目已加载、检查命令注册与配置项 create_file_on_save。

AdvancedNewFile 在 Sublime Text 4 上不能直接通过 Package Control 安装后就用——默认安装的是已停更的原版,会因路径解析逻辑不兼容而崩溃或静默失败。
Sublime Text 4 必须装 AdvancedNewFile_ST4 分支
原作者早已停止维护,Package Control 里搜 AdvancedNewFile 显示的仍是 v2.7.0(最后更新于 2019 年),它在 ST4 上调用 os.path.normpath 时传入非字符串参数,直接抛出 TypeError: expected string or bytes-like object。真正可用的是社区维护分支 AdvancedNewFile_ST4(GitHub 仓库:rbharrin/AdvancedNewFile_ST4):
- 修复了
view.window()返回值变化导致的命令未注册问题 - 重写了路径分隔符处理逻辑,Windows 下输
src/utils/index.js不再生成带反斜杠的怪文件名 - 默认启用
create_parent_dirs,输入deep/nested/file.py会逐级创建目录 - 必须手动安装:关闭 Sublime → 进入
Packages/目录 → 克隆仓库到AdvancedNewFile_ST4/→ 重启
路径输入总提示 “Path does not exist”?检查项目上下文
插件不是基于“当前打开的文件”,而是基于“当前激活的窗口所关联的项目根目录”。常见失效场景:
- 只用
subl file.js打开单个文件,没通过File → Open Folder…加载文件夹 → 插件 fallback 到$HOME,但不会提示,输src/就报错 - 侧边栏为空,或只显示一个未保存的空标签页 →
${project_path}为空,${file_path}也为空,最终路径解析失败 - 路径以
/开头却没加载项目 → 被当系统绝对路径(如 Windows 下变成C:/src/...),权限不足即失败 - 路径含空格或中文但没用英文引号包裹 → 解析中断,可能建出零字节文件或无反应
快捷键没反应?优先查命令是否注册成功
按 Ctrl+Alt+N(Win/Linux)或 Cmd+Alt+N(macOS)没弹框,不是快捷键冲突,而是命令根本没加载:
- 打开命令面板(
Ctrl+Shift+P),输入advanced_new_file—— 如果没有候选命令,说明插件未初始化 - 检查
Preferences → Package Control → Enable Package里AdvancedNewFile_ST4是否勾选 - 进控制台(
Ctrl+`),执行sublime.log_commands(True),再按快捷键 —— 若控制台无任何输出,证明命令未绑定 - 别依赖
Key Bindings里搜advanced_new_file:ST4 要求插件显式注册命令,老版配置方式已失效
新建文件后不自动打开?改 create_file_on_save 配置项
插件默认行为是「写入磁盘即结束」,不会切换到新文件标签页。这不是 bug,是设计如此。要改变它:
- 进
Preferences → Package Settings → AdvancedNewFile → Settings – User - 加一行:
"create_file_on_save": true - 注意:该配置只影响通过 AdvancedNewFile 创建的文件,不影响
Ctrl+N新建的空标签页 - 如果同时启用了
open_at_startup或项目自动加载,可能导致多个标签页堆叠,建议关掉无关自动打开逻辑
最易被忽略的一点:插件对路径的解析完全依赖 Sublime 的 window.folders() 返回值。只要侧边栏没显示项目根目录,所有相对路径都会失准——不是配置问题,是前提条件没满足。











