来自代码段设计器的Visual Studio代码片段无法导入

时间:2014-05-28 13:59:13

标签: visual-studio tsql code-snippets

所以我从我在这里运行的一些常见脚本中创建了一些SQL代码片段。 我正在使用Snippet Designer和Visual Studio 2013。

每当我尝试导入它们时,我都会收到消息"选定的片段无效"。

由于他们中的一些相当大,我做了一些挖掘寻找无效的字符(非常新的片段所以可能很容易错过一些)。这仍然无效。

所以我决定,让我们制作一个非常简单的片段。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Keywords>
        <Keyword>Why</Keyword>
        <Keyword>Does</Keyword>
        <Keyword>This</Keyword>
        <Keyword>Not</Keyword>
        <Keyword>Work</Keyword>
      </Keywords>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>SimpleSnipThantShouldNotFailAndDoes</Title>
      <Author>I am</Author>
      <Description>some thing in here</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>simplesnip</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
      </Declarations>
      <Code Language="sql"><![CDATA[select *
from sometable]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

仍然设法抛出错误,我希望你们中的一个片段大师可以指出这里的问题,这可能让我为其他人确定问题。

提前致谢!

1 个答案:

答案 0 :(得分:2)

也许有点晚了,但无论如何我都会回答,也许这对来到这里的其他人有用。

问题是,您为SQL定义了一个代码片段并尝试将其导入Visual Studio。但是,你的VS没有能力编写SQL&#34;。

如果您将代码语言标记更改为例如<Code Language="CSHARP">该代码段将正确导入,并将在C#文件中提供。 (有关更多语言值,请参阅HERE

按原样,您只能为代码段管理器左上角的下拉菜单中提供的语言添加代码段(CTRL + K,CTRL + B)。

如果您希望TSQL代码作为C#代码中的代码段,只需更改它,因为代码片段不会根据编译器规则进行解析(在插入之后它将会解析)。

否则,您的xml导入SMSS就好了。