2

我正在寻找一种方法来创建一些像 sublime text2 中的片段这样的 c++ 命名空间,它的行为应该是这样的:

假设我们有一个名为“fu”的命名空间,其中包含“vector”、“Point”、“Mat”。我使用以下 tabtriggers 创建片段:

<tabTrigger>fu::vector</tabTrigger>
<tabTrigger>fu::Point</tabTrigger>
<tabTrigger>fu::Mat</tabTrigger>

当我现在输入“fu”时,会出现包含所有 3 个片段的选择框(这是完美的),但是一旦我输入“::”,它们就会消失。这是为什么?即使我输入“fu::vecto”,也没有选择片段。似乎双点逃脱了所有片段触发器。

当我输入“::”时,我真的需要这种行为,这应该显示特定命名空间中的所有定义。

这有可能吗?提前感谢您的宝贵时间。

4

1 回答 1

1

Sublime Text 2 将:字符视为单词分隔符,因此对于 Sublime Text,键入 a:与键入空格来分隔单词是一样的。因此,它会切断自动完成功能。

您可以:通过将此行添加到您的用户首选项文件中来使片段中的 s 以您希望的方式工作(Preferences -> Settings - User如果需要,请确保修复逗号):

"word_separators": "./\\()\"'-,.;<>~!@#$%^&*|+=[]{}`~?",

这只是word_separators默认设置文件中的值,但已:取出。

如果您只想:在 C++ 中忽略 Sublime Text,请将该行添加到您的 C++ 首选项文件中(Open a C++ file -> Preferences -> Settings - More -> Syntax Specific - User)。

于 2013-04-30T16:36:15.787 回答