Javascript 触发升华文本自定义代码段时,如何省略(或删除)自动匹配括号?

Javascript 触发升华文本自定义代码段时,如何省略(或删除)自动匹配括号?,javascript,sublimetext3,code-completion,sublimetext-snippet,Javascript,Sublimetext3,Code Completion,Sublimetext Snippet,我试图在SublimiteText中创建一个JavaScript箭头函数片段。当我键入一个打开的参数:()时,它应该可用。我希望能够使用选项卡来创建它: () => {} 启用自动匹配(通常我喜欢这一功能)后,我想不出如何避免这种情况: () => {}) 以下是迄今为止我所掌握的代码,除了自动匹配问题外,这些代码非常有效: <snippet> <content><![CDATA[ (${1}) => {$2} ]]></c

我试图在SublimiteText中创建一个JavaScript箭头函数片段。当我键入一个打开的参数:
)时,它应该可用。我希望能够使用选项卡来创建它:

() => {}
启用自动匹配(通常我喜欢这一功能)后,我想不出如何避免这种情况:

() => {})
以下是迄今为止我所掌握的代码,除了自动匹配问题外,这些代码非常有效:

<snippet>
    <content><![CDATA[
(${1}) => {$2}
]]></content>
    <tabTrigger>(</tabTrigger>
    <scope>source.js</scope>
</snippet>

{$2}
]]>
(
source.js

代码片段只能插入文本或替换所选文本-它们不能修改文档中其他地方的文本,甚至是文本插入符号旁边的文本。我认为实现所需功能的最佳方法是使用键绑定,它将优先于默认的
自动匹配启用的
行为(也是键绑定)(按下,并获取键绑定以插入代码段,从而避免需要单独的
.sublime代码段
文件

{
    "keys": ["(", "tab"], "command": "insert_snippet", "args": { "contents": "(${1}) => {$2}" }, "context":
    [
        { "key": "selector", "operator": "equal", "operand": "source.js" }
    ]
},

请注意,如果您希望代码段仍然显示在命令选项板
snippet:
选项中,您可以保留
.sublime snippet
文件而不产生任何负面影响-键绑定将优先于代码段中定义的制表符触发器。

这很有效!谢谢。我假设代码段无法反编译是正确的吗删除现有内容?仅插入?此外,您是否知道此API是否已被记录?我不会在这里跟踪“上下文”键中发生的事情(但我也希望将来能够构建自己的内容)。我相信,最接近删除现有内容片段的方法是在此类情况下使用它(按键后展开),然后在按键前选择一些文本,这将用代码段替换所选内容。请注意,在这种情况下,特殊变量
$selection
可用于您的代码段。您也可以使用宏(再次响应按键)这将首先执行命令删除一些文本,然后展开代码段。此外,还提供了有关键绑定中上下文使用的文档。有一组升华附带的上下文,但如果需要,可以使用插件代码构建自己的上下文。谢谢,@OdatNurd我查看了文档,但不知怎的,我错过了t页面的帽子部分。:/不过,似乎还有一些改进的空间。我得好好玩玩。谢谢你的提示!