dictionaryautocomplete 未被 package control 收录且长期废弃,github 最后更新于 2018 年,与 st4 的 python 3.8+ 不兼容,直接安装大概率失败;仅支持手动安装于 st3,需使用 st3-compatible 分支并放入 packages 目录。

DictionaryAutocomplete 不是 Package Control 官方仓库中收录的插件,也没有稳定维护的公开发布版本。它长期处于半废弃状态,GitHub 仓库最后一次更新在 2018 年,且与 Sublime Text 4 的 Python 3.8+ 运行时存在兼容性问题——**直接安装大概率失败或完全不生效**。
为什么 Package Control 搜不到 DictionaryAutocomplete
Package Control 的插件索引只收录满足以下条件的项目:sublime-package 文件可构建、有有效 .json 清单、作者主动提交到 channel、持续维护。而 DictionaryAutocomplete 既无官方 .sublime-package 发布,也未注册进 Package Control 的 channel,所以命令面板里搜 DictionaryAutocomplete 或 dict autocomplete 都不会出现结果。
手动安装 DictionaryAutocomplete 的实操路径(仅限 ST3 / 有限兼容 ST4)
如果你明确需要该插件(比如 legacy 项目依赖),只能走手动安装,但必须满足三个硬性前提:
- 使用 Sublime Text 3(ST4 下多数函数如
view.word返回类型变更,插件原代码会抛TypeError) - 从已知可用分支 clone(推荐:https://github.com/braver/DictionaryAutocomplete/tree/st3-compatible,非主分支)
- 放入
Packages/目录,而非Installed Packages/(它不是.sublime-package格式)
操作步骤:
打开 Preferences → Browse Packages…,进入 Packages 目录;下载并解压上述 st3-compatible 分支的 ZIP;将解压出的文件夹重命名为 DictionaryAutocomplete;粘贴进 Packages 目录;重启 Sublime Text。
验证方式:打开控制台(Ctrl+`),输入 sublime.find_resources("DictionaryAutocomplete.py"),若有路径返回,说明加载成功。
DictionaryAutocomplete 的实际补全行为和限制
它不调用系统词典,也不联网,只是把当前 view 中所有“看起来像单词”的字符串(按 \w+ 切分)建一个扁平列表,再做前缀匹配。这意味着:
- 不会识别注释/字符串里的内容(默认跳过)
- 不区分大小写,但原始大小写会被保留
- 触发快捷键是
Ctrl+Space(Win/Linux)或Cmd+Space(macOS),无法自动弹出 - 没有配置项控制词典源,也不能导入外部
.txt单词表 - 若当前文件语法被识别为
Plain Text,它才工作;一旦切换成Python或JavaScript,它默认静默退出(因原作者没适配 scope 过滤逻辑)
更可靠、现役可用的拼写补全替代方案
真正解决拼写提示需求,应避开 DictionaryAutocomplete,改用以下组合:
-
SublimeLinter-contrib-alex:静态检查拼写错误(需 Node.js + alex CLI) -
Spell Check(内置):右键 →Spelling → Check Spelling,支持自定义词典路径 -
AutoFileName+ 手动维护words.txt:把高频词写进该文件,配合插件的路径补全逻辑“骗”出候选 - 终极方案:换用 VS Code,启用
Code Spell Checker插件,支持多语言词典、忽略规则、CI 集成
硬要塞 DictionaryAutocomplete 进 ST4,90% 情况下你会卡在 AttributeError: 'View' object has no attribute 'word' 或补全列表始终为空——这不是配置问题,是底层 API 断层导致的不可修复缺陷。











