Sublime Text C89自动补全

时间:2018-07-24 16:31:49

标签: sublimetext3 sublimetext c89

我正在使用ST3和C89标准中的代码。 超级有用的for循环自动完成功能可以完成:

for (int i = 0; i < count; ++i)
{
    /* code */
}

但这不符合标准。可以在某些配置文件中更改此行为以完成以下操作吗:

int i = 0;
for (i < count; ++i)
{
    /* code */
}

2 个答案:

答案 0 :(得分:1)

这实际上是由sublime附带的c ++软件包提供的摘要(由于相似,该软件包涵盖了C和C ++)。

负责自动完成的代码段位于 Packages \ C ++ \ Snippets \ 030-for-int-loop-(fori).sublime-snippet 中,如下所示:

<snippet>
    <description>For Loop</description>
    <content><![CDATA[for (int ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
{
    ${0:/* code */}
}]]></content>
    <tabTrigger>for</tabTrigger>
    <scope>source.c, source.objc, source.c++, source.objc++</scope>
</snippet>

您可以根据需要进行修改。为此,

  1. 安装PackageResourceViewer以达到最佳状态。它使您可以查看高级包内部。
  2. 使用 ctrl + shift + p 打开命令面板
  3. 输入 prv:o ,然后从列表中选择 PackageResourceViewer:打开资源
  4. 键入C ++并导航到 Snippets \ 030-for-int-loop-(fori).sublime-snippet
  5. 以此修改代码。

    <snippet>
         <description>For Loop</description>
         <content>
         <![CDATA[int ${2:i} = 0;
    for ( ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
    {
         ${0:/* code */}
    }]]></content>
        <tabTrigger>for</tabTrigger>
        <scope>source.c, source.objc, source.c++, source.objc++</scope>
    </snippet>
    
  6. 并保存文件。

答案 1 :(得分:0)

您可以在此处的Sublime Text文档中找到如何添加特定的自动完成功能- http://docs.sublimetext.info/en/latest/extensibility/completions.html。如果您已经有一个Sublime Text软件包正在为您执行C自动完成功能,则可能必须禁用它。