代码片段是预编写的代码段,可以随时将这些代码段插入到应用程序中。 可以通过使用代码片段来减少键入重复代码或搜索示例所用的时间,从而提高工作效率和可靠性。
可以创建自己的代码片段,并将其添加到 Visual Studio 已包含的代码片段中。 本文演示了如何通过几个步骤创建代码片段的过程。 只需创建一个 XML 文件,填写适当的元素,然后将代码添加到文件中即可。 此外还可以使用替换参数和项目引用。 然后将代码片段导入 Visual Studio 安装。
创建代码片段
1、打开 Visual Studio,然后选择“开始”屏幕中的“继续但无需代码”。
2、在菜单栏中,选择“文件”>“新建文件”,或按 Ctrl+N。
3、在“新建文件”对话框中选择“XML 文件”,然后选择“打开”。
4、将以下基础代码片段模板粘贴到代码编辑器中。
<?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>
5、在代码片段的 Title
元素中输入标题 Square Root。
6、在 Code
元素的“语言”属性中,对于 C# 代码片段请填写的 CSharp,对于 Visual Basic 请填写 VB。
7、将以下代码片段添加到 Code
元素的 CDATA
部分。
对于 C#:
<![CDATA[double root = Math.Sqrt(16);]]>
对于 Visual Basic:
<![CDATA[Dim root = Math.Sqrt(16)]]>
无法指定如何对代码片段 CDATA 部分中的代码行进行格式设置或缩进。 插入后,语言服务将自动设置所插入代码的格式。
8、在任意位置将代码片段保存为 SquareRoot.snippet。
导入代码片段
1、要将代码片段导入 Visual Studio 安装,请选择“工具”>“代码片段管理器”或按 Ctrl+K、B。
2、在“代码片段管理器”中,选择“导入”按钮。
3、导航到代码片段所在位置,选择该代码片段,然后选择“打开”。
4、在“导入代码片段”对话框中,选择右窗格中的“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
5、通过打开 C# 或 Visual Basic 项目来测试代码片段。 在编辑器中打开代码文件后,执行以下操作之一:
在 Visual Studio 菜单栏上,选择“编辑”>“IntelliSense”>“插入片段”。
右键单击,然后从关联菜单中选择“片段”>“插入片段”。
在键盘上按 Ctrl+K、X。
6、打开“My Code Snippets”文件夹,然后双击名为 Square Root 的代码片段。 该代码片段代码已插入代码文件中。
“说明”和“快捷方式”字段
在“代码片段管理器”中查看“说明”字段时,可以获得有关代码片段的详细信息。 快捷方式是为了插入代码片段而键入的标记。
1、要编辑代码片段,请根据代码语言从以下位置之一打开代码片段文件:
%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
由于要编辑在其中放置 Visual Studio 的目录中的文件,因此无需重新将其导入到 Visual Studio。
2、将 Author
、Description
和 Shortcut
元素添加到 Header
元素中,然后相应填充。
3、确认 Header
元素看起来类似于以下示例,然后保存文件。
<Header> <Title>Square Root</Title> <Author>Myself</Author> <Description>Calculates the square root of 16.</Description> <Shortcut>sqrt</Shortcut> </Header>
4、打开 Visual Studio Code“代码片段管理器”并选中你的代码片段。 在右窗格中,注意“说明”、“创建者”和“快捷方式”字段现在已填充。
5、要测试快捷方式,请打开之前使用的项目,在编辑器中键入 sqrt 并按 Tab(Visual Basic 按一次,C# 按两次)。 代码片段代码已插入。
替换参数
你可能希望用户替换代码片段的一部分。 例如,可能希望用户将变量名称替换为其当前项目中的某个名称。
可以提供两种类型的替换:文本和对象。
使用串元素来标识整体包含在代码片段中的代码替换对象,可在插入到代码中后进行自定义。 例如,字符串或数值。
使用对象元素标识代码片段需要、但可能是在代码片段外部定义的项。 例如,对象实例或控件。
可以使用 SquareRoot.snippet 文件中的 Literal
元素来帮助用户轻松更改数字以计算其平方根。
1、修改 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$);]]>
2、保存片段文件。
3、打开项目,并插入片段。
已插入代码片段,并且突出显示要替换的可编辑文本。 将鼠标悬停在替换参数上,以查看该值的工具提示。
如果片段中有多个可替换的参数,可按 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>