Autocomplete 如何在Sublime Text 3中添加自定义自动完成?

Autocomplete 如何在Sublime Text 3中添加自定义自动完成?,autocomplete,sublimetext,sublimetext3,code-completion,Autocomplete,Sublimetext,Sublimetext3,Code Completion,如何在Sublime Text 3中添加自定义自动完成 可能重复的问题是 有一个很好的答案,但并不完全。阅读官方文档(升华文本非官方文档-扩展升华文本-和),我仍然想知道如何实现自定义HTML标记自动完成 我想要的是下面的 当我把 eq(+tab) eq{\alpha \beta \int}(+tab) eqq(+tab) eqq{\alpha \beta \gamma \frac{1}{2}}(+tab) ,我想 <eq>(Cursor)</eq> <e

如何在Sublime Text 3中添加自定义自动完成

可能重复的问题是

有一个很好的答案,但并不完全。阅读官方文档(升华文本非官方文档-扩展升华文本-和),我仍然想知道如何实现自定义HTML标记自动完成

我想要的是下面的

  • 当我把

    eq(+tab)
    
    eq{\alpha \beta \int}(+tab)
    
    eqq(+tab)
    
    eqq{\alpha \beta \gamma \frac{1}{2}}(+tab)
    
    ,我想

    <eq>(Cursor)</eq>
    
    <eq>\alpha \beta \int(Cursor position)</eq>
    
    <eqq>
    (tab indented)(Cursor)
    </eqq>
    
    <eqq>
        \alpha \beta \gamma \frac{1}{2}(cursor position at the end of Tex Equation)
    </eqq>
    
    ,我想

    <eq>(Cursor)</eq>
    
    <eq>\alpha \beta \int(Cursor position)</eq>
    
    <eqq>
    (tab indented)(Cursor)
    </eqq>
    
    <eqq>
        \alpha \beta \gamma \frac{1}{2}(cursor position at the end of Tex Equation)
    </eqq>
    
    ,我想

    <eq>(Cursor)</eq>
    
    <eq>\alpha \beta \int(Cursor position)</eq>
    
    <eqq>
    (tab indented)(Cursor)
    </eqq>
    
    <eqq>
        \alpha \beta \gamma \frac{1}{2}(cursor position at the end of Tex Equation)
    </eqq>
    
    ,我想

    <eq>(Cursor)</eq>
    
    <eq>\alpha \beta \int(Cursor position)</eq>
    
    <eqq>
    (tab indented)(Cursor)
    </eqq>
    
    <eqq>
        \alpha \beta \gamma \frac{1}{2}(cursor position at the end of Tex Equation)
    </eqq>
    
    变成

    <eqq>(Cursor position)</eqq>
    
    。但是
    选项卡
    触发未启用,尽管我的
    首选项-设置-用户
    包括与选项卡相关的功能,如

    {
        [
            "Vintage",
            "BracketHighlighter",
            "SideBarEnhancements"
        ],
        "tab_completion": true,
        "tab_size": 2,
        "translate_tabs_to_spaces": false,
        "use_tab_stops": false,
    }
    
    。在这种情况下,仅启用
    Ctrl+tab
    触发。怎么了?我不知道

    为了解决这些问题,我尝试了Snippets,在
    sublime Text Build 3059 x64\Data\Packages\User
    文件夹中创建
    HTML.sublime snippet
    文件。我把

    <snippet>
        <content><![CDATA[<eqq>
        $0$1
    </eqq>]]></content>
        <tabTrigger>eqq</tabTrigger>
        <scope>text.html</scope>
    </snippet>
    <snippet>
        <content><![CDATA[<eq>$1$0</eq>]]></content>
        <tabTrigger>eq</tabTrigger>
        <scope>text.html</scope>
    </snippet>
    
    eqBraces.sublime snippet
    文件中,以及

    <snippet>
        <content><![CDATA[<eq>$1$0</eq>]]></content>
        <tabTrigger>eq{$PARAM1}</tabTrigger>
        <scope>text.html</scope>
        <description>eq{inline TeX equation} tag to be rendered by MathJax</description>
    </snippet>
    
    <snippet>
        <content><![CDATA[<eqq>
        $0
    </eqq>]]></content>
        <tabTrigger>eqq</tabTrigger>
        <scope>text.html</scope>
        <description>eqq tag to be rendered by MathJax</description>
    </snippet>
    
    <snippet>
        <content><![CDATA[<eqq>
        $1$0
    </eqq>]]></content>
        <tabTrigger>eqq{$PARAM1}</tabTrigger>
        <scope>text.html</scope>
        <description>eqq{outline TeX equations} tag to be rendered by MathJax</description>
    </snippet>
    
    eqbraces.sublime代码段
    文件中。但这些也不能完全解决我的问题

    我也问过这个问题。任何已经知道这个问题的人,请回答我


    我尝试了类似于
    ${1/\\/\/}
    的方法。但这也不行。使用类似于
    eq{\\alpha\\beta\\gamma}
    的双
    \
    可以解决意外的转义\问题。

    1-如果需要,您可以随时为升华文本添加插件。它叫埃米特,你可以在这里找到

    例如,编写div+crtl+e很简单,您将得到
    。另一种使用它的方法是放置div.tagId+crtl+e,您将得到
    ;如果您想要多个,只需键入div*2和相同的键组合,就可以得到两个div


    对于其他问题,我不知道如何解决。

    您的答案似乎缺少示例。