首页 > 解决方案 > Sublime text 3 中是否有办法在从语法中选择语言后自动添加语言格式?

问题描述

我正在为 Sublime Text 寻找一种在从语法下拉菜单中选择语言后在编辑器中添加“必要”格式的方法。

例如:
选择 HTML 后,我希望编辑器立即添加,例如,<!doctype html> <head> <body> <title>等等。

我有办法做到这一点,还是我需要下载/添加某些插件?

标签: htmlsyntaxformatsublimetext3

解决方案


这可以通过一个简单的插件来实现。您可以监听语法何时更改为 HTML,检查文件是否为空,如果是,则插入 HTML 片段。

  1. 工具菜单 -> 开发人员 -> 新插件...
  2. 将模板替换为以下代码:
import sublime
import sublime_plugin


class SyntaxChangeListener(sublime_plugin.EventListener):
    def on_post_text_command(self, view, command_name, args):
        if view.size() > 0:
            return

        if command_name == 'set_file_type':
            if args['syntax'] == 'Packages/HTML/HTML.sublime-syntax':
                view.run_command('insert_snippet', { 'name': 'Packages/HTML/Snippets/html.sublime-snippet' })
  1. 将它保存在 ST 推荐的文件夹中 ( Packages/User) 类似insert_html_snippet_for_new_files.py- 名称本身并不重要,只要文件扩展名为py.
  2. 打开一个新标签
  3. 将语法设置为 HTML
  4. 查看自动插入的 HTML 片段

推荐阅读