通过使用代码片段来减少键入重复代码或搜索示例所花费的时间,可以提高工作效率和可靠性。 代码片段是预先授权的代码片段,可以插入到应用程序中。
可以创建自己的代码片段,并将其添加到 Visual Studio 已包含的代码片段。 本文逐步介绍如何在几个步骤中创建代码片段。 创建 XML 文件,填写相应的元素,并将代码添加到该文件。 可以选择使用替换参数和项目引用。 然后,将代码片段导入 Visual Studio 安装。
创建代码片段
打开 Visual Studio,然后在“开始”屏幕上选择“继续”,而不用代码。
在菜单栏中,选择“ 文件>新建文件”,或按 Ctrl+N。
在“ 新建文件 ”对话框中,选择 “XML 文件”,然后选择“ 打开”。
将以下基本代码片段模板粘贴到代码编辑器中。
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title></Title> </Header> <Snippet> <Code Language=""> <![CDATA[]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>在代码片段
Title元素中输入标题平方根。在元素的属性
Code中Language,填写 C# 代码片段的 CSharp 或 Visual Basic 的 VB。将以下代码片段代码添加到
CDATA元素内的Code节。对于 C#:
<![CDATA[double root = Math.Sqrt(16);]]>对于 Visual Basic:
<![CDATA[Dim root = Math.Sqrt(16)]]>注释
不能指定如何在代码片段的节中
CDATA设置代码行的格式或缩进代码行。 插入后,语言服务会自动设置插入的代码的格式。将代码片段保存为 SquareRoot.snippet。
导入代码片段
若要将代码片段导入 Visual Studio 安装,请选择 “工具>代码片段管理器 ”或按 Ctrl+K、 B。
在 代码片段管理器中,选择“ 导入 ”按钮。
导航到代码片段的位置,选择它,然后选择 “打开”。
在“ 导入代码片段 ”对话框中,选择右窗格中的 “我的代码片段 ”文件夹。 选择完成,然后选择确定。
代码片段将复制到以下位置之一,具体取决于代码语言:
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets
- %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
- %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets
通过打开 C# 或 Visual Basic 项目来测试代码片段。 在编辑器中打开代码文件后,执行以下作之一:
- 在 Visual Studio 菜单栏上,选择 “编辑>IntelliSense>插入代码段”。
- 右键单击,然后从上下文菜单中选择“ 代码段>插入代码段 ”。
- 在键盘上,按 Ctrl+K、 X。
打开 “我的代码片段”,然后双击名为 Square Root 的代码片段。 代码片段代码插入到代码文件中。
说明和快捷字段
在 代码片段管理器中查看时,说明字段提供有关代码片段的详细信息。 快捷方式是可以键入以插入代码片段的标记。
若要编辑代码片段,请根据代码语言从以下位置之一打开代码片段文件:
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
- %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
- %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
小窍门
由于正在编辑 Visual Studio 放置该文件的目录中的文件,因此无需将其重新导入 Visual Studio。
将元素
Description和Shortcut元素添加到AuthorHeader元素,并填充它们。确认
Header该元素看起来类似于以下示例,并保存该文件。<Header> <Title>Square Root</Title> <Author>Myself</Author> <Description>Calculates the square root of 16.</Description> <Shortcut>sqrt</Shortcut> </Header>打开 Visual Studio Code 代码片段管理器 并选择代码片段。 在右窗格中,请注意“ 说明”、“ 作者”和 “快捷方式 ”字段现已填充。
若要测试快捷方式,请打开之前使用的项目,在编辑器中键入 sqrt ,并为 Visual Basic 按 Tab 一次,或为 C# 按两次。 插入代码片段代码。
替换参数
你可能希望用户替换代码片段的各个部分。 例如,你可能希望用户用当前项目中的变量名称替换变量名称。
可以提供两种类型的替换:文本和对象。
使用 Literal 元素 标识完全包含在代码片段中的代码的替换,该代码可在插入代码后进行自定义。 例如,字符串或数值。
使用 Object 元素 标识代码片段需要但可能在代码片段外部定义的项。 例如,对象实例或控件。
可以使用 SquareRoot.snippet 文件中的Literal元素来帮助用户轻松更改数字以计算其平方根。
在 SquareRoot.snippet 文件中,按如下所示修改
Snippet元素:<Snippet> <Code Language="CSharp"> <![CDATA[double root = Math.Sqrt($Number$);]]> </Code> <Declarations> <Literal> <ID>Number</ID> <ToolTip>Enter the number you want the square root of.</ToolTip> <Default>16</Default> </Literal> </Declarations> </Snippet>请注意,文本替换获取 ID。
Number通过用字符围绕代码片段引用该$ID,如下所示:<![CDATA[double root = Math.Sqrt($Number$);]]>保存代码段文件。
打开项目并插入代码片段。
插入代码片段,并突出显示可编辑文本以供替换。 将鼠标悬停在替换参数上以查看值的工具提示。
小窍门
如果代码片段中有多个可替换参数,可以按 Tab 从一个参数导航到另一个参数以更改值。
导入命名空间
可以使用代码片段添加 using 指令(C#)或 Imports 语句(Visual Basic),方法是包括 Imports 元素。 对于 .NET Framework 项目,还可以使用 References 元素添加对项目的引用。
以下 XML 显示了一个代码片段,该代码片段使用命名空间中的System.IO方法File.Exists,因此定义Imports要导入命名空间的System.IO元素。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>File Exists</Title>
<Shortcut>exists</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
</Code>
<Imports>
<Import>
<Namespace>System.IO</Namespace>
</Import>
</Imports>
</Snippet>
</CodeSnippet>
</CodeSnippets>