不能——原版 autofilename 因 python 2/3 不兼容在 st4 中静默失效;必须手动安装 zhenkyle 或 boundincode 的 st4 适配分支,并严格按路径、命名、配置要求设置才可启用图片路径补全。

Sublime Text 4 上装了 AutoFileName 就能自动补全图片路径?不能——原版插件根本没加载,你看到的“已安装”只是假象。
为什么 Package Control 装的 AutoFileName 没反应
Package Control 里搜到的 AutoFileName 是 ST3 旧版,Python 2 代码(含 urllib2)在 ST4(Python 3.8+)中静默失败:不报错、不弹提示、状态栏不显示 AutoFileName: enabled,连 Preferences → Package Settings 菜单都可能压根不出现。
- 按
Ctrl+Shift+P输入Package Control: List Packages,列表里没有AutoFileName→ 插件根本没加载 - 打开
Preferences → Package Settings → AutoFileName菜单项不存在 → 不是配置问题,是插件未注册 - 别信“拖文件夹进 Packages 就完事”——路径错、文件夹名错、
auto_file_name.py放错位置,都会导致静默失效
必须手动装 zhenkyle 或 BoundInCode 分支
这两个分支专为 ST4 修复 Python 3 兼容性与 API 变更,都不上架 Package Control,搜不到是正常的。
- 先卸载旧版:
Ctrl+Shift+P→Package Control: Remove Package→ 选中并删掉AutoFileName - 去 GitHub Releases 下载最新
auto_file_name.py(zhenkyle 版解压取文件;BoundInCode 版直接下载单个.py) - 打开
Preferences → Browse Packages…,进入用户Packages目录,在该目录下新建文件夹,**严格命名为AutoFileName**(大小写敏感,不能是autofilename、AutoFileName_ST4或带版本号) - 把下载的
auto_file_name.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"|❌(引号已闭合),src=`|`❌(模板字符串不支持) - 前面必须有路径语义前缀:
src="、href="、url(、import "、require('✅;console.log("、class="❌ - 当前文件语法必须被识别为支持类型:右下角显示
CSS、HTML、JavaScript等,不能是Plain Text;Vue 文件中<style></style>块需验证 scope 含source.css(用Tools → Developer → Show Scope Name) - 文件必须已保存(未保存的临时文件不触发)
让图片路径补全真正可用的三件事
装对插件只是第一步,要让 img src="、background: url( 补全生效,还得配准:
- 在
Preferences → Package Settings → AutoFileName → Settings – User中添加:{ "enabled": true, "auto_popup": true, "extensions": ["html", "htm", "css", "scss", "js", "jsx", "ts", "tsx"] }(默认不启用 HTML/CSS,必须显式加"html"和"css") - 补全基准路径是当前文件所在目录,不是项目根目录。想从项目根开始补全,加:
"auto_complete_project_path": true - 如果用了 Webpack 别名(如
@/assets/logo.png),必须在.sublime-project里配:"settings": { "auto_filename_path_aliases": { "@": "src" } }
路径补全依赖文件系统扫描,node_modules 或 .git 这类大目录会卡顿甚至漏结果,建议在设置中加 "excluded_folders": ["node_modules", ".git"]。别名映射和排除目录不生效?退出 Sublime 再重开,热加载不认新配置。











