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>

创建代码片段

  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>
    
  3. 打开“代码片段管理器” 并选择代码片段。 在右窗格中,注意“说明”和“创建者”字段现在已填充 。
    代码片段管理器中的代码片段说明

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

    <Header>
    	<Title>Square Root</Title>
    	<Author>Myself</Author>
    	<Description>Calculates the square root of 16.</Description>
    	<Shortcut>sqrt</Shortcut>
    </Header>
    
  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. 在解决方案资源管理器中,选择项目节点,并添加一个文件夹,该文件夹的名称为想要代码片段在代码片段管理器中显示的名称。 在本例中,名称应为 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$"
    
  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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值