代码片段及其使用方法

代码片段是可添加到代码文件的小块可重用代码。 代码片段通常包含常用代码块,例如 Try...Finally 或 If...Else 块。 还可以使用代码片段来添加整个类或方法。

代码片段具有一个用于选择代码片段的标题,还可以具有可键入以插入代码片段的快捷方式名称。 代码片段还可以包含充当占位符的替换参数。 代码片段可用于多种语言,包括 C#、C++ 和 Visual Basic 等。

扩展代码片段和外侧代码片段

可以将两种代码片段添加到代码中:

在指定的插入点处添加扩展片段。

在选定的代码周围添加外侧代码片段,并且仅适用于 C# 和 C++。

查找可用的代码片段

若要查看某种语言的可用代码片段,请从菜单栏中选择“工具”>“代码片段管理器”,或按 Ctrl+KB,然后从下拉菜单中选择所需的语言。

1.jpg

若要创建和导入自己的片段,使其显示在片段列表中,请参阅演练:在 Visual Studio 中创建代码片段

向代码文件添加代码片段

若要向代码文件添加代码片段,请执行以下操作:

1、在代码编辑器中,放置游标或选择添加代码片段的 C# 或 C++ 代码。

2、请执行以下一项操作:

在 Visual Studio 菜单栏上,选择“编辑”>“IntelliSense”>“插入片段”或“编辑”>“IntelliSense”>“外侧代码”。

右键单击,然后从关联菜单中选择“片段”>“插入片段”或“片段”>“外侧代码”。

在键盘上,对于扩展片段按 Ctrl+K、X,或者对于外侧代码片段按 Ctrl+K、S。

3、双击下拉列表中所需的片段,或键入片段快捷方式,然后按 Tab 或 Enter

添加扩展片段

例如,C# 扩展片段 tryf 会添加以下 Try...Finally 块:

try{

}finally{

}

若要添加此扩展片段,请执行以下操作:

1、在代码编辑器中,将游标放在要添加片段的位置。

2、右键单击并选择右键单击关联菜单中的“插入片段”,或者使用菜单栏或键盘命令。

3、打开 Visual C# 文件夹,然后在下拉列表中双击 tryf,或者选择 tryf,然后按 Tab 或 Enter

还可以将游标置于插入点,键入 tryf,然后按 Tab 两次。

添加外侧代码片段

在下面的 C++ 片段示例中,快捷方式 if 可用作插入片段或外侧代码片段。 如果选择代码行 return FALSE;,然后选择“外侧代码”>“if”,即可让片段将围绕该行扩展:

if (true)
{    
	return FALSE;
}


代码片段替换参数

片段可以包含替换参数,这些替换参数是占位符,必须进行替换来适应你编写的代码。 在上面的示例中,true 是替换参数,应将其替换为适当的条件。 对片段中该替换参数的每个实例重复替换。

例如,Visual Basic 有一个定义属性的代码片段。 要插入代码片段,请:

1、在 Visual Basic 代码文件中的右键单击上下文菜单中,选择“代码片段”>“插入代码片”

2、选择“代码模式”>“属性、过程和事件”>“定义属性”

2.jpg

插入以下代码:

Private newPropertyValue As StringPublic Property NewProperty() As String
    Get
        Return newPropertyValue    End Get
    Set(ByVal value As String)
        newPropertyValue = value    End SetEnd Property

如果将 newPropertyValue 更改为 m_property,则 newPropertyValue 的每个实例皆会更改。 如果在属性声明中将 String 更改为 Int,则 Set 方法中的值也会更改为 Int

有关使用代码片段的最佳做法

代码片段中的代码仅显示执行某些操作的最基本方法。 对于大多数应用程序,必须修改代码,使其适合应用程序。

异常处理

通常,代码片段 Try...Catch 块会捕获并重新引发所有异常,但这可能是项目的正确选择。 对于每个异常,可通过几种方法进行响应。 

文件位置

当根据应用程序调整文件位置时,请务必考虑以下因素。

查找可访问的位置。 用户可能无权访问计算机的 Program Files 文件夹,因此可能无法将用户文件与应用程序文件一起存储。

查找一个安全位置。 将文件存储在根文件夹(如 C:\)中并不安全。 对于应用程序数据,最好使用 Application Data 文件夹。 对于个人用户数据,应用程序可在每个用户的 Documents 文件夹中创建文件。

使用有效的文件名。 可使用 OpenFileDialog 和 SaveFileDialog 控件降低使用无效文件名的可能性。

请注意,在代码可以操作文件之前,用户选择的文件可能会被删除。 此外,用户可能没有写入该文件的权限。

安全性

片段的安全性取决于在源代码中使用它的位置,以及位于代码中后如何对其进行修改。 以下列表包含一些需要考虑的方面:

文件和数据库访问

代码访问安全性

保护事件日志和注册表等资源

存储机密

验证输入

将数据传递到脚本编写技术

下载的代码片段

Visual Studio 安装的代码片段本身并不是安全隐患。 但它们会在应用程序中带来安全性风险。 从互联网上下载的片段应该像其他下载的内容一样格外小心处理。 仅从信任的站点下载代码片段,并使用最新的防病毒软件。

在 Visual Studio 的记事本或 XML 编辑器中打开所有已下载的代码片段文件,并在安装前仔细检查。 请注意下列问题:

执行后可能会损坏系统的片段代码。 在运行前请仔细阅读源代码。

片段文件中的 HelpURL 块,包含执行恶意脚本文件或显示冒犯性网站的 URL。

包含引用的片段,以静默方式添加到项目中,并且可以从系统的任何位置加载。 可以从下载片段的同一位置下载这些引用。 然后,片段可以调用引用中执行恶意代码的方法。 若要检测此类引用,请查看片段文件的 Imports 和 References 块。