Sublimetext3 升华文本自定义自动完成

Sublimetext3 升华文本自定义自动完成,sublimetext3,Sublimetext3,我试图将我自己的自动补全词添加到崇高的文本中,但它似乎不起作用 我从他那里得到了一些帮助 并将我的自动完成代码编写为: { "scope": "source.cpp", "completions": [ { "trigger": "cout", "contents": "std::cout << $1" },

我试图将我自己的自动补全词添加到崇高的文本中,但它似乎不起作用

我从他那里得到了一些帮助

并将我的自动完成代码编写为:

{
    "scope": "source.cpp",
    "completions":
    [
    { "trigger": "cout", "contents": "std::cout << $1" },
    { "trigger": "endl", "contents": "<< std::endl $1" },
    { "trigger": "cin", "contents": "std::cin >> $1" }
    ]
}
我每次都想用std::cout替换cout

有谁能告诉我如何纠正这个问题吗

该文件名为cpp.sublime-completions,位于


/home //////////P>>用户> /P> > P>您的总体问题是C++文件的顶层范围不是Soop.CPP,它是源C++。因此,按照定义,您的完成不起作用,因为Sublime没有意识到它应该应用它们

通过使用菜单中的“工具”>“开发人员”>“显示作用域名称”或按菜单中可见的关联键盘快捷键,可以检查任何给定点的作用域

另外,当您在这里使用的代码段/完成项中只有一个占位符变量时,您可能希望将$1替换为$0

升华按数字顺序在完成字段中移动,要求您按Tab键转到下一个字段,在最后一个字段上按Tab键,如果未明确指定,则将光标跳到假定为代码段中最后一项的$0点,从而退出代码段

正如在您的示例中定义的,如果您触发例如cout,光标将位于$1上,并且您将在状态行中看到字段1/2,以提醒您处于代码段中。键入占位符后,必须按Tab键或Esc键退出代码段返回到正常编辑模式,各种光标操作也会取消代码段模式


这可能是您想要的,但如果您不希望它出现,也会导致奇怪的无法解释的问题,例如无法立即展开代码段,或者当您按Tab键时光标会跳转到其他位置。

谢谢!我不知道占位符的索引。我把它们改成了0美元,效果非常好!