javascript 在Sublime Text 3中为Snippet添加光标位置

bfrts1fy  于 2023-08-02  发布在  Java
关注(0)|答案(2)|浏览(139)

这是我在Sublime Text 3中添加代码段的代码:

<snippet>
    <content><![CDATA[
document.write();
]]></content>
    <tabTrigger> dw </tabTrigger>
</snippet>

字符串
问题是如何在这段代码中添加光标位置?谢谢。

k5ifujac

k5ifujac1#

Sublime中的代码段允许您选择性地指定字段(制表位),这些字段允许您以交互方式在代码段中填充额外的信息。
当代码段展开时,您可以在字段之间来回按Tab键和Shift+Tab键,当您在最后一个字段中按Tab键时,代码段展开完成。
当前窗口的状态栏中会显示此状态,您将看到Sublime告诉您所在的字段以及有多少字段,例如。Field 1 of 2
字段指定为$后跟一个数字,Sublime按照字段的数字顺序($1,然后$2等)跟随字段。因此,在代码片段内容中输入任何文字$作为\$非常重要,这样Sublime就知道它不是一个字段。
也就是说,字段$0是特殊的,它指示当代码段扩展完成时光标最终应该结束的位置。如果$0没有出现在代码片段中的任何地方,Sublime就好像它是代码片段内容中的最后一个内容一样。
这就是它在上面的代码片段示例中所做的,因此当代码片段展开时,它将光标留在代码片段的末尾,就在;字符之后。
下面这样的代码段将把光标留在括号内,以便您可以输入要插入到文档中的内容:

<snippet>
    <content><![CDATA[
document.write($0);
]]></content>
    <tabTrigger> dw </tabTrigger>
</snippet>

字符串
当这样指定时,代码片段没有“真实的的”字段(只有特殊的“退出”字段),因此一旦它展开,光标就在括号内,代码片段展开完成。
根据您的用例,您也可以使用类似的代码片段实现类似的功能:

<snippet>
    <content><![CDATA[
document.write($1);$0
]]></content>
    <tabTrigger> dw </tabTrigger>
</snippet>


当您展开这个代码段时,光标像以前一样放在括号内,但是现在状态行将告诉您Field 1 of 2,因为现在有两个字段(您的显式字段和$0处的“exit”)。
这允许您键入以填写对document.write的调用的值,然后按Tab键直接跳到行尾。
有关代码段的更多信息,我推荐使用Unofficial Documentation on Snippets

ddarikpa

ddarikpa2#

在触发代码段后希望光标位置的位置使用$0。
示例:

<snippet>
    <content><![CDATA[
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        $0
    }
    
}

]]></content>
    <tabTrigger>cpp</tabTrigger>
    <scope>source.c++</scope>
</snippet>

字符串

相关问题