演练:在 Visual Studio 中创建代码片段
代码片段是预编写的代码段,可以随时将这些代码段插入到应用程序中。 可以通过使用代码片段来减少键入重复代码或搜索示例所用的时间,从而提高工作效率和可靠性。
可以创建自己的代码片段,并将其添加到 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
元素中输入标题 Square Root。在
Code
元素的“语言”属性中,对于 C# 代码片段请填写的 CSharp,对于 Visual Basic 请填写 VB。将以下代码片段添加到
Code
元素的CDATA
部分。对于 C#:
<![CDATA[double root = Math.Sqrt(16);]]>
对于 Visual Basic:
<![CDATA[Dim root = Math.Sqrt(16)]]>
注意
无法指定如何对代码片段
CDATA
部分中的代码行进行格式设置或缩进。 插入后,语言服务将自动设置所插入代码的格式。在任意位置将代码片段保存为 SquareRoot.snippet。
导入代码片段
要将代码片段导入 Visual Studio 安装,请选择“工具”>“代码片段管理器”或按 Ctrl+K、B。
在“代码片段管理器”中,选择“导入”按钮。
导航到代码片段所在位置,选择该代码片段,然后选择“打开”。
在“导入代码片段”对话框中,选择右窗格中的“My Code Snippets”文件夹。 选择完成,然后选择确定。
代码片段会复制到以下某一位置,具体取决于代码语言:
%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。
打开“My Code Snippets”文件夹,然后双击名为 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。
将
Author
、Description
和Shortcut
元素添加到Header
元素中,然后相应填充。确认
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 并按 Tab(Visual Basic 按一次,C# 按两次)。 代码片段代码已插入。
替换参数
你可能希望用户替换代码片段的一部分。 例如,可能希望用户将变量名称替换为其当前项目中的某个名称。
可以提供两种类型的替换:文本和对象。
可以使用 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,从一个参数导航到另一个参数,以更改值。
导入命名空间
可通过包含 Imports 元素,使用代码片段添加 using
指令 (C#) 或 Imports
语句 (Visual Basic)。 对于 .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>