
FuzzyFilePath 在 Sublime Text 4 中已基本不可用,当前唯一可靠路径补全方案是 AutoFileName(ST4 适配版)。 它不是“增强版模糊搜索”,而是专为文件系统路径设计的实时补全插件;FuzzyFilePath 停更多年、不兼容 Python 3.8+、在 ST4 下加载即报错,强行安装只会让 Ctrl+Space 静默失效。
为什么 FuzzyFilePath 在 ST4 上根本跑不起来
它依赖 Sublime 的旧版 API 和 Python 3.3 语法特性,而 ST4 强制使用 Python 3.8+。常见现象包括:
- 控制台持续报错:
AttributeError: 'NoneType' object has no attribute 'groups'—— 这是正则匹配对象为None后还强行调用.groups(),说明插件核心逻辑已崩溃 - 按
Ctrl+Space没反应,且状态栏不显示AutoFileName: enabled或任何相关提示 - 即使手动放入
Packages/目录,sublime_plugin.reload_plugin("FuzzyFilePath.fuzzy_file_path")也会抛出ImportError
AutoFileName_ST4 分支怎么装才真正生效
必须严格按顺序操作,漏一步就白忙:
- 先卸载旧版:
Ctrl+Shift+P→ 输入Package Control: Remove Package→ 选中并删除FuzzyFilePath和任意名称含AutoFileName的包 - 去 GitHub 克隆
BoundInCode/AutoFileName_ST4(注意不是原作者仓库),只取根目录下的auto_file_name.py - 打开
Preferences → Browse Packages…,进入用户Packages目录,新建文件夹,**名字必须是AutoFileName(大小写敏感,不能带下划线或版本号)** - 把
auto_file_name.py放进该文件夹,确保完整路径为Packages/AutoFileName/auto_file_name.py - 重启 Sublime,或在控制台执行
sublime_plugin.reload_plugin("AutoFileName.auto_file_name")
路径补全没弹出来?检查这三件事
AutoFileName 不是全局字符串补全器,它只响应特定上下文:
- 右下角语法标识必须是
HTML、CSS、JavaScript、Vue等合法 scope,**Plain Text 下完全不启动** - 光标必须位于明确路径语境中:比如
src="|"、url(|、import '|、require("|,且引号必须已输入(单/双引号都行,反引号 `` ` `` 不支持) - 项目必须已添加根目录:
Project → Add Folder to Project…,否则插件无法解析相对路径,补全列表永远为空
真正卡住人的地方,往往不是“怎么装”,而是“装完以为好了,其实连项目根都没加”。补全失败时,先按 Ctrl+Shift+P → Developer: Show Scope Name 看当前作用域是否含 string.quoted,再确认状态栏语法和项目结构——这两步比重装插件管用十倍。


















