zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Visual Studio添加自定义代码片段

VisualStudio代码 自定义 添加 片段
2023-09-27 14:26:38 时间

参考: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. 在网上看了很多教程,说特殊字符使用\\来转义,但是试了一下对于$来说\\无法转义,正确使用$$即可。

暂未尝试其他特殊字符。