Sublime怎么添加注释 Sublime怎么自定义注释代码块【模板】

4次阅读

Sublime怎么添加注释 Sublime怎么自定义注释代码块【模板】

sublime 的注释快捷键为什么有时不生效

根本原因通常是当前文件的语法类型没识别对,比如打开一个 .js 文件但右下角显示的是 Plain Text,这时 Ctrl+/windows/linux)或 Cmd+/macos)只会插入普通文本斜杠,不会触发语言感知的块注释或行注释逻辑。

实操建议:

  • 手动设置语法:点击右下角语言名 → 选对应语言(如 JavaScriptPython
  • 保存为对应后缀:Sublime 依赖文件扩展名触发语法高亮和注释规则,临时新建的无后缀文件默认是 Plain Text
  • 检查是否被插件拦截:某些代码格式化插件(如 JsPrettier)会覆盖原生快捷键,可临时禁用插件验证

怎么给 Sublime 添加自定义注释模板(snippets)

Snippets 是最轻量、最可控的方式,适合固定结构的头部注释或函数说明,比插件更稳定,也不依赖语法高亮引擎。

实操建议:

  • 菜单栏 → ToolsDeveloperNew Snippet...
  • 替换示例内容,关键字段:<content></content> 里写注释模板(用 $1$2 标记光标跳转位置),<tabtrigger></tabtrigger> 设触发词(如 doc),<scope></scope> 指定作用范围(如 source.js
  • 保存为 Documents.sublime-snippet,路径必须是 Packages/User/ 目录下
  • 触发方式:输入 tabTrigger 内容 + Tab 键(例如输 doc 再按 Tab

示例 snippet 内容片段(适用于 JS):

<content><![CDATA[/**  * @author $1  * @description $2  * @date ${3:Y-m-d}  */]]></content>

sublime-comment-plus 插件值不值得装

它能自动识别不同语言的注释符号(如 //#/* */),还支持“切换注释”“行内注释”等增强操作,但实际用起来有几个硬伤。

实操建议:

  • 只在需要频繁切换大段代码注释状态时才装,日常单行注释完全用不上
  • 安装后务必检查快捷键冲突:默认 Ctrl+Shift+/ 是块注释,但部分系统或输入法会劫持该组合键
  • 不兼容某些语法包(如 Babel 或自定义 JSX 语法),可能让 /* */ 注释失效,表现为按了没反应或只加了 //
  • 替代方案更稳:用原生 Ctrl+/ + 正确语法类型,90% 场景已够用

为什么自己写的 snippet 在某些文件里不弹出来

核心就一条:<scope></scope> 值和当前视图的实际语法 scope 不匹配。Sublime 的语法不是靠文件名判断,而是靠底层 scope 字符串,比如 source.pythonsource.py 就不一样,text.html.basicembedding.python 更是完全两套体系。

实操建议:

  • 把光标放在目标文件中 → 菜单栏 ToolsDeveloperShow Scope Name,看底部状态栏输出的真实 scope
  • 多个 scope 用空格分隔,例如 <scope>source.js source.jsx</scope>
  • 测试时先用宽泛 scope(如 source)确认 snippet 能触发,再逐步收紧
  • 注意嵌入语法:在 HTML 里写 JS,scope 可能是 embedding.javascript,不是 source.js

scope 错配是最隐蔽也最常见的失败原因,别猜,一定用 Show Scope Name 看一眼再说。

text=ZqhQzanResources