如何在Visual Studio和Visual Studio Code之间共享代码片段?

时间:2018-08-22 05:32:56

标签: visual-studio visual-studio-code code-snippets

我有一些Visual Studio Code格式的C#代码段,下面是一个示例(其文件名为csharp.[Print to console].code-snippets

{
    "Print to console": {
        "scope": "csharp",
        "prefix": "p",
        "body": [
            "Console.WriteLine(${10:\"${20:hi}\"});"
        ],
        "description": "Print to console"
    }
}

Visual Studio的代码段似乎使用了非常不同的格式。一个例子是:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>cw</Title>
            <Shortcut>cw</Shortcut>
            <Description>Code snippet for Console.WriteLine</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal Editable="false">
                    <ID>SystemConsole</ID>
                    <Function>SimpleTypeName(global::System.Console)</Function>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[$SystemConsole$.WriteLine($end$);]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

我是否可以在它们之间共享代码段?

1 个答案:

答案 0 :(得分:2)

CodeSnippetStudio by Alessandro Del Sole是开放源代码Visual Studio Extension,允许维护Visual Studio snippet文件并将其导出为VS代码json代码段。

  

Code Snippet Studio是Visual Studio 2015的扩展,可轻松创建,编辑,打包和共享Visual Studio 2015和Visual Studio Code的IntelliSense代码段。

     
      
  • 通过方便的用户界面以及支持语法高亮显示的代码编辑器来创建,编辑和保存代码片段。您可以保存Visual Studio 2015 的传统.snippet文件和Visual Studio Code 的.json文件。
  •   

根据the project's User's Guide (docx),该工具将允许您打开/导入现有的Visual Studio .snippet和VS Code .json片段:

  

打开现有代码段

     

通过点击...,可以打开和编辑现有的.snippet.json文件      

Code Snippet Studio将加载该代码段文件并填充   带有代码,声明,导入和引用的用户界面   (如果支持)。因此,您将可以进行进一步的编辑并   保存代码段

打开后,您应该可以将摘录导出/保存到您选择的目标(jsonsnippet)中。这样,您就可以在Visual Studio和VS Code之间共享代码段。


请注意,有an open issue添加了对Visual Studio 2017的支持,作者提到CodeSnippetStudio在Visual Studio 2017中也应该可用,只是不能用于生成VSIX包:

  

嗨,大家好,如果您要在VS 2017上安装Studio,则可以。

     

如果您要为VS 2017生成软件包,我真的很想增加支持。

如果您只是为了跨Visual Studio / VS Code支持而保留代码段,那么前者就足够了。