Sublime Text不支持一键生成整套项目文件,需按需求选择方案:SublimeTmpl适用于单文件骨架快速新建,Python插件用于批量建目录及多文件;选错类型则无法实现目标。

Sublime 本身不提供“一键生成整套项目文件”的原生能力,所谓“模板插件”实际分两类:一类是 SublimeTmpl 这种轻量级新建单文件模板的工具;另一类是靠 Python 插件自己写逻辑批量建目录+多文件。选错类型,装了也白装。
用 SublimeTmpl 快速新建单个带骨架的文件
SublimeTmpl 是最常用、最稳定的新建模板方案,适合 HTML、JS、Python 等单文件快速起手。它不建目录、不处理依赖、不渲染变量,只做“新建 + 填空”。
- 安装方式:按
Ctrl+Shift+P→ 输入Install Package→ 回车 → 搜SublimeTmpl→ 回车安装 - 默认快捷键:
Ctrl+Alt+h(HTML)、Ctrl+Alt+j(JS)、Ctrl+Alt+Shift+p(Python)等,冲突时可在Preferences → Package Settings → SublimeTmpl → Key Bindings中改 - 模板存在路径:
Packages/SublimeTmpl/templates/,后缀是.tmpl,内容就是纯文本,支持$1、$2占位符跳转 - 别指望它自动填入当前日期或文件名:它不读上下文,
$TM_FILENAME_BASE这类 TextMate 变量在SublimeTmpl里无效
想批量建多个文件?必须写 Python 插件
如果目标是“输入组件名,自动生成 index.vue、style.css、logic.js 三个文件并放入同名目录”,就得自己写 sublime_plugin.WindowCommand 插件——SublimeTmpl 做不到。
- 插件入口文件放
Packages/User/下,比如叫bulk_vue_component.py - 关键动作顺序不能错:先
window.new_file()→ 再view.run_command('insert', {'characters': content})→ 再view.set_syntax_file('Packages/JavaScript/JavaScript.tmLanguage')→ 最后view.run_command('save', {'file': full_path}) - 路径拼接必须用
os.path.join(),硬拼'./src/' + name + '/index.vue'在 Windows 下会因反斜杠出错 - 用户输入用
window.show_input_panel('Component name:', '', on_done, None, None),不是input()(后者会卡死 UI)
别碰 Build System 做模板生成
有人试过用 .sublime-build 调 echo 或 touch 生成文件,这看似简单,但很快会踩坑:
- 无法获取编辑器当前项目路径,
$project_path在 Build System 里常为空 - 生成的文件不会自动打开,也不会高亮语法,更不会插入光标位置
- 想读取选中文本或当前文件名?做不到——Build System 是黑盒 shell 调用,和 Sublime 的 API 完全隔离
- 真要跑复杂模板(比如 Jinja),不如直接用命令行
cookiecutter或npm init,再用subl .打开目录
真正麻烦的不是装插件,而是搞清“我到底要生成什么”:单文件填空?多文件结构?是否带目录树?是否需动态变量?没理清这点,装十个插件也解决不了问题。

















