如果你在 Sublime Text 4 中用 Package Control 装了 AutoFileName 插件,那么有 99% 的概率它根本没加载——不是不好使,是压根没运行。这不是配置能解决的问题,而是原版代码还留着 Python 2 时代的 urllib2 模块,根本没适配 ST4 的新 API。所以控制台不会报错,状态栏不会出现“AutoFileName: enabled”,按 Ctrl+Space 也毫无反应。所有“不工作”的症状,根源都是同一个:插件没被加载。
怎么确认?很简单。打开命令面板,输入 Package Control: List Packages,看一眼列表里有没有 AutoFileName。没有就等于没装。别被 Preferences → Package Settings 里的菜单项骗了——那只是残留的配置文件,插件本身从未运行过。
Package Control安装的AutoFileName根本没加载
解决路径很明确:先卸载旧版。同样从命令面板出发,执行 Package Control: Remove Package,选中并删除 AutoFileName。然后换道走。
手动安装路径/命名/主文件三要素全对才生效
目前可用的分支只有两个:一个是 zhenkyle/AutoFileName,功能完整,支持别名映射和项目根路径;另一个是 BoundInCode/AutoFileName_ST4,轻量级,只修复了兼容性。这两个都必须手动安装,而且文件夹结构和命名不能有半点差错。
- 打开 Preferences → Browse Packages…,记住这个路径(比如
~/Library/Application Support/Sublime Text/Packages) - 在里面新建一个文件夹,必须严格命名为
AutoFileName。大小写敏感,不能写成autofilename、AutoFileName_ST4或者带版本号那种 - 去对应 GitHub 的 Releases 页面下载最新的
auto_file_name.py(zhenkyle版需要解压取文件;BoundInCode版直接拿单个 .py 文件) - 把这个文件放进
Packages/AutoFileName/,最终路径必须是Packages/AutoFileName/auto_file_name.py - 重启 Sublime,或者直接在控制台(
Ctrl+`)里执行sublime_plugin.reload_plugin("AutoFileName.auto_file_name")

补全不触发?四个硬条件缺一不可
AutoFileName 不是那种随便敲个字符串就能触发的补全工具,它只响应“明确要填路径”的上下文,而且每个条件都必须满足:
- 光标必须在未闭合的英文引号内。比如
src="|"可以,src=|不行,src="logo.png"|也不行(引号已经闭合) - 当前文件的语法必须被识别为路径相关类型。右下角显示的是
HTML、CSS、Ja vaScript或source.css这类才行,不能是Plain Text;Vue 文件里的块需要用 Tools → Developer → Show Scope Name 确认 scope 包含source.css - 必须有预设的路径语义前缀。默认支持
src="、href="、url(、import '、require(";但你在console.log("assets/")或class="foo"里敲,它不会理你 - 文件必须已经保存。未保存的临时文件(
Untitled)不参与路径扫描,这是设计逻辑使然
Windows路径斜杠、大项目卡顿、作用域误判这些细节最易漏
补全虽然出来了,但插入的是反斜杠 \?这是 Windows 的默认行为,但前端代码必须用正斜杠 /。解决办法是在 Preferences → Package Settings → AutoFileName → Settings – User 里加一行配置:"use_forward_slash": true。
项目文件超过 1 万个?默认开启了 "recursive": true,首次输入时会有明显卡顿。如果你不是在小项目里需要补全深层嵌套路径,建议关掉这个选项。
文件双击打开了,但右下角显示的语法是 Plain Text?这说明 Sublime 没有把扩展名和语法绑定起来。去右下角点语法名,选择 Set as Default for .xxx Files——注意不是 Open all with current extension as…,否则 AutoFileName 根本不会监听这个文件类型。
最关键的一点:AutoFileName 的路径基准永远是当前文件所在的目录,而不是你通过 Project → Add Folder to Project 加入的项目根目录。想从项目根开始补全,要么手动输入 ../,要么确保当前文件就在根目录下面——这个细节几乎所有第一次用的人都会忽略。