• Visual Studio添加自定义代码片段


    参考:https://blog.csdn.net/baozi141990/article/details/119274426

    Visual Studio添加自定义代码片段

    记录一下如何在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></Title>
                <Author></Author>
                <Shortcut></Shortcut>
                <Description></Description>
            </Header>
            <Snippet>
                <Code Language="">
                    <![CDATA[]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>` 
    
    ![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
    
    *   1
    *   2
    *   3
    *   4
    *   5
    *   6
    *   7
    *   8
    *   9
    *   10
    *   11
    *   12
    *   13
    *   14
    *   15
    *   16
    
    
    

    创建代码片段

    1. 在Visual Studio中创建一个新的XML文件,然后把让面复制上面的模板。
    2. Title元素中填写代码片段的标题。
    3. Code元素的Language属性中填写代码片段的语言。对于 C#,使用 CSharp;对于 Visual Basic,使用 VB;对于 C++,使用 CPP ;对于JS,使用JavaScript。
    4. 另存文件未后缀为.snippet的文件,最好保存在一个固定的位置。
      在这里插入图片描述

    导入代码片段

    1. 可以使用代码片段管理器将代码片段导入Visual Studio安装, 通过选择“工具” > “代码片段管理器”打开它 。
      在这里插入图片描述
      在这里插入图片描述

    2. 单击“导入”按钮 。

    3. 请转到在前面的过程中保存代码片段的位置,选择该位置,然后单击“打开” 。

    4. “导入代码片段”对话框随即打开,要求从右窗格中提供的选项中选择代码片段的添加位置 。 其中一个选项应为“我的代码片段” 。 选择它,单击“完成”,然后单击“确定” 。

    5. 代码片段会复制到以下某一位置,具体取决于代码语言:

      %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
      %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets

    6. 通过打开 C# 或 Visual Basic 项目来测试代码片段。 在编辑器中打开一个代码文件之后,依次选择右键单击菜单中的“代码片段” > “插入代码片段”,再选择“我的代码片段” 。 应看到一个名为 Square Root 的代码片段 。 双击该选项。

      该代码片段代码已插入代码文件中。

    Description(说明) 和 Shortcut(快捷方式) 字段

    1. 代码片段管理器中查看说明字段时,可以获得有关代码片段的详细信息。 快捷方式是用户为插入代码片段而键入的标记。 通过打开文件 %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets[Visual C# 或 Visual Basic]\My Code Snippet\SquareRoot.snippet,编辑已添加的代码片段 。

      由于要编辑在其中放置 Visual Studio 的目录中的文件,因此无需重新将其导入到 Visual Studio。

    2. Header 元素应该类似于以下形式:

      `<Header>
      	<Title>Square Root</Title>
          <Author>Myself</Author>
          <Description>Calculates the square root of 16.</Description>
      </Header>` 
      
      *   1
      *   2
      *   3
      *   4
      *   5
      
      
      
    3. 打开“代码片段管理器” 并选择代码片段。 在右窗格中,注意“说明”和“创建者”字段现在已填充 。
      代码片段管理器中的代码片段说明

    4. 添加快捷方式,即可通过输入部分代码来提示一整段代码

      `<Header>
      	<Title>Square Root</Title>
      	<Author>Myself</Author>
      	<Description>Calculates the square root of 16.</Description>
      	<Shortcut>sqrt</Shortcut>
      </Header>` 
      
      *   1
      *   2
      *   3
      *   4
      *   5
      *   6
      
      
      
    5. 再次保存代码片段文件。要测试快捷方式,请打开之前使用的项目,在编辑器中键入 sqrt 并按 Tab(Visual Basic 按一次,C# 按两次) 。

    发布代码片段

    可以向朋友提供代码片段,然后让他们使用代码片段管理器在自己的计算机上安装代码片段。 但是,如果你有若干代码片段要分发或者希望进行范围更广泛的分发,则可以将代码片段文件包含到 Visual Studio 扩展中。 然后,Visual Studio 用户可安装扩展,以获得这些片段。

    先决条件

    安装“Visual Studio 扩展开发”工作负载,以访问“VSIX 项目”项目模板。
    在这里插入图片描述
    在此过程中,将使用相同的 Hello World 代码片段,该代码片段创建自创建代码片段。 本文提供了片段 XML,因此无需返回创建片段。

    1. 根据“空 VSIX 项目”模板创建一个新项目,并将该项目命名为 TestSnippet。

    2. 在 TestSnippet 项目中,添加一个新的 XML 文件,并将其命名为 VBCodeSnippet.snippet。 将内容替换为以下 XML:```
      <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Hello World VB</Title> <Shortcut>HelloWorld</Shortcut> <Description>Inserts code</Description> <Author>MSIT</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="VB"> <![CDATA[Console.WriteLine("Hello, World!")]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      
      
      

    设置目录结构

    1. 在解决方案资源管理器中,选择项目节点,并添加一个文件夹,该文件夹的名称为想要代码片段在代码片段管理器中显示的名称。 在本例中,名称应为 HelloWorldVB。

    2. 将 .snippet 文件移动到 HelloWorldVB 文件夹 。

    3. 在解决方案资源管理器中选择 .snippet 文件,确保“属性”窗口中的“生成操作”设置为“内容”,“复制到输出目录”设置为“始终复制”,“包含在 VSIX 中”设置为“true”。

    添加 .pkgdef 文件

    1. 将文本文件添加到 HelloWorldVB 文件夹,并将其命名为 HelloWorldVB.pkgdef。 此文件用于向注册表添加某些项。 在这种情况下,会将新子项添加到 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\16.0\Languages\CodeExpansions\Basic 密钥。

    2. 向文件中添加以下行。

      `// Visual Basic
      [$RootKey$\Languages\CodeExpansions\Basic\Paths]
      "HelloWorldVB"="$PackageFolder$"` 
      
      *   1
      *   2
      *   3
      
      
      
    3. 通过检查此项,你可以看到如何指定不同的语言。

    4. 在解决方案资源管理器中,选择 .pkgdef 文件,并在“属性”窗口中确保:

      • 将“生成操作”设置为“内容”
      • 将“复制到输出目录”设置为“始终复制”
      • 将“包含在 VSIX 中”设置为“true”
      • 将.pkgdef 文件添加为 VSIX 清单中的资产。 在 source.extension.vsixmanifest 文件中,转到“资产”选项卡,然后单击“新建” 。
    5. 在“添加新资产”对话框中,将“类型”设置为“Microsoft.VisualStudio.VsPackage”,将“源”设置为“文件系统上的文件”,将“路径”设置为“HelloWorldVB.pkgdef”(它应显示在下拉列表中)。

    测试代码片段

    1. 现在,可以确保代码片段在 Visual Studio 的实验实例中的工作。 实验实例是 Visual Studio 的第二份副本,它独立于用于编写代码的副本。 它可让在扩展上工作,而不会影响你的开发环境。

    2. 生成项目并启动调试。
      将出现 Visual Studio 的第二个实例。

    3. 在实验实例中,请转到“工具” > “代码片段管理器”,并将“语言”设置为“Basic” 。 将看到 HelloWorldVB 显示为一个文件夹,并且应能够展开该文件夹以查看 HelloWorldVB 代码片段 。

    4. 测试代码片段。 在实验实例中,打开 Visual Basic 项目,并打开一个代码文件。 将光标置于代码中的某处,右键单击,然后在上下文菜单中选择“插入片段”。

    5. 将看到 HelloWorldVB 显示为一个文件夹。 双击该选项。 将会看到一个弹出窗口“<插入片段: HelloWorldVB >”,该窗口中包含下拉列表“HelloWorldVB”。 单击 HelloWorldVB 下拉列表。

      代码文件中添加了以下行:

      `Console.WriteLine("Hello, World!")` 
      
      *   1
      
      
      

    代码片段中的特殊字符

    1. 在网上看了很多教程,说特殊字符使用\\来转义,但是试了一下对于$来说\\无法转义,正确使用$$即可。

    暂未尝试其他特殊字符。

  • 相关阅读:
    Fiddler捕获https请求时勾选了Decrypt HTTPS traffic还是获取不到证书的问题(转)
    ERROR: ORA-01033: ORACLE initialization or shutdown in progress Oracle无法启动的解决
    JavaScript数据类型、函数、对象
    HTML5新特性
    Java 操作XML,JDOM&DOM4J
    XML引入,DOM 方式解析XML 原理,SAX 方式解析XML
    Json引入键值key&value,数组,嵌套,用户注册
    Ajax异步XMLHttpRequest对象
    JavaScript基于对象引入,闭包,面向对象的实现
    MySql存储过程的操作
  • 原文地址:https://www.cnblogs.com/kuangke/p/16881028.html
Copyright © 2020-2023  润新知