Visual Studio中是否支持C++代码片段?

12

我正在使用本地的C++编写代码(不是C++/CLR)。我知道在片段管理器和片段选择接口方面,没有内置对C++的支持,但是我找到了一个名为“snippy”的实用程序,据说可以生成C++片段。这是该程序生成的一个C++片段:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>MySnippet</Title>
      <Shortcut>MySnippet</Shortcut>
      <Description>Just a test snippet</Description>
      <Author>Me</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="true">
          <ID>literal1</ID>
          <ToolTip>just a placeholder</ToolTip>
          <Default>
          </Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="cpp"><![CDATA[cout << "$literal1$" << std::endl;]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
如果Visual C++即使在有限的情况下支持C++代码片段,我该如何将它们添加到我的环境中?有哪些限制?我只需要支持基本展开片段的支持,可以通过键入快捷键并按Tab来调用,支持基本字面量,可以通过Tab进行切换(基本上,如果它支持上述片段,我就很满意)。如果无法实现此操作,是否有任何免费的Visual Studio附加组件或扩展支持C++语言的片段?我目前使用的是Visual Studio 2010和2008,但我主要在2010中编写代码。

复制:http://stackoverflow.com/questions/212634/best-application-for-storing-code-snippets - Konrad
3
不是重复问题。这个问题特别涉及到Visual Studio代码片段功能,而不是一般的代码片段。 - sean e
简短回答:不行。VS2010及更早版本无法识别C++代码片段,也无法将任何代码片段加载到C++文件中。我尝试使用优秀的小工具Snippy创建了一个C++代码片段,它可以创建代码片段格式的XML。不幸的是,VS2010只允许您使用与您正在编辑的源文件语言相对应的代码片段,因此C++代码片段虽然有效,但在VS2010中被忽略。微软没有在Visual Studio 2012之前的版本中包含足够的C++支持真的很奇怪,几乎像是他们希望这种语言消失一样! - Pete855217
5个回答

7

Visual Assist有一个片段功能,它与IDE的片段功能不完全相同。它有其优点和缺点,但可用于C++。


7

Visual Studio 2012 现在已经包括了 C++ 的代码片段功能。


5

有很多可用于VS2010的插件。 我建议使用snip2code,它是新的、免费的并且非常实用。 我需要一种快速处理代码片段并在浏览网页时进行搜索的方法…… 它非常出色地完成了这项工作。


我在三分钟内没有弄明白如何使用它,就关闭了。你能否给我解释一下这些问题呢? - Anton Daneyko
你可以搜索他人发布的代码片段,也可以添加自己的代码片段,使其保存在你的存储桶中,并可以通过 VS 插件和/或网站在任何地方找到。 - Cristiano Ghersi

4

我只使用VS 2008和2010,而且我不再需要对2008的支持,但有这个支持也是很好的。我只是想知道为什么,如果它已经在VS 2005的附加工具中实现了,为什么还没有被集成到核心Visual Studio中。 - Jeremy Bell
@Jeremy,你的猜测和我的一样好。我还没有尝试过2010年的新功能,但是Visual C++的开发似乎相当缓慢。 - Nick Meyer
我相信 Visual Studio 团队中有人写了一篇关于他们没时间添加它,所以只是提供了一个附加组件因为它没有经过测试的博客。 - daveangel
这些版本并没有得到正式的支持(通常团队会寻求反馈并回答问题,但您不能打技术支持电话)。因为标准较低,您应该自行承担使用它们的风险。 - daveangel

1
我正在使用宏来实现代码片段功能。虽然这只是一种妥协,但总比没有好。
例如,按下++n -> 添加注释行 // myname [DATE]:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接