代码片段及其使用方法
代码片段是可添加到代码文件的小块可重用代码。 代码片段通常包含常用代码块,例如 Try...Finally
或 If...Else
块。 还可以使用代码片段来添加整个类或方法。
代码片段具有一个用于选择代码片段的标题,还可以具有可键入以插入代码片段的快捷方式名称。 代码片段还可以包含充当占位符的替换参数。 代码片段可用于多种语言,包括 C#、C++ 和 Visual Basic 等。
扩展代码片段和外侧代码片段
可以将两种代码片段添加到代码中:
- 在指定的插入点处添加扩展片段。
- 在选定的代码周围添加外侧代码片段,并且仅适用于 C# 和 C++。
查找可用的代码片段
若要查看某种语言的可用代码片段,请从菜单栏中选择“工具”>“代码片段管理器”,或按 Ctrl+K、B,然后从下拉菜单中选择所需的语言。
若要创建和导入自己的片段,使其显示在片段列表中,请参阅演练:在 Visual Studio 中创建代码片段。
向代码文件添加代码片段
若要向代码文件添加代码片段,请执行以下操作:
在代码编辑器中,放置游标或选择添加代码片段的 C# 或 C++ 代码。
请执行以下一项操作:
- 在 Visual Studio 菜单栏上,选择“编辑”>“IntelliSense”>“插入片段”或“编辑”>“IntelliSense”>“外侧代码”。
- 右键单击,然后从关联菜单中选择“片段”>“插入片段”或“片段”>“外侧代码”。
- 在键盘上,对于扩展片段按 Ctrl+K、X,或者对于外侧代码片段按 Ctrl+K、S。
双击下拉列表中所需的片段,或键入片段快捷方式,然后按 Tab 或 Enter。
添加扩展片段
例如,C# 扩展片段 tryf
会添加以下 Try...Finally
块:
try
{
}
finally
{
}
若要添加此扩展片段,请执行以下操作:
- 在代码编辑器中,将游标放在要添加片段的位置。
- 右键单击并选择右键单击关联菜单中的“插入片段”,或者使用菜单栏或键盘命令。
- 打开 Visual C# 文件夹,然后在下拉列表中双击 tryf,或者选择 tryf,然后按 Tab 或 Enter。
提示
还可以将游标置于插入点,键入 tryf,然后按 Tab 两次。
添加外侧代码片段
在下面的 C++ 片段示例中,快捷方式 if
可用作插入片段或外侧代码片段。 如果选择代码行 return FALSE;
,然后选择“外侧代码”>“if”,即可让片段将围绕该行扩展:
if (true)
{
return FALSE;
}
代码片段替换参数
片段可以包含替换参数,这些替换参数是占位符,必须进行替换来适应你编写的代码。 在上面的示例中,true
是替换参数,应将其替换为适当的条件。 对片段中该替换参数的每个实例重复替换。
例如,Visual Basic 有一个定义属性的代码片段。 要插入代码片段,请:
- 在 Visual Basic 代码文件中的右键单击上下文菜单中,选择“代码片段”>“插入代码片”。
- 选择“代码模式”>“属性、过程和事件”>“定义属性”。
插入以下代码:
Private newPropertyValue As String
Public Property NewProperty() As String
Get
Return newPropertyValue
End Get
Set(ByVal value As String)
newPropertyValue = value
End Set
End Property
如果将 newPropertyValue
更改为 m_property
,则 newPropertyValue
的每个实例皆会更改。 如果在属性声明中将 String
更改为 Int
,则 Set
方法中的值也会更改为 Int
。
有关使用代码片段的最佳做法
代码片段中的代码仅显示执行某些操作的最基本方法。 对于大多数应用程序,必须修改代码,使其适合应用程序。
异常处理
通常,代码片段 Try...Catch
块会捕获并重新引发所有异常,但这可能是项目的正确选择。 对于每个异常,可通过几种方法进行响应。 相关示例,请参阅如何:使用 try/catch 处理异常 (C#) 和 Try...Catch...Finally 语句 (Visual Basic)。
文件位置
当根据应用程序调整文件位置时,请务必考虑以下因素。
查找可访问的位置。 用户可能无权访问计算机的 Program Files 文件夹,因此可能无法将用户文件与应用程序文件一起存储。
查找一个安全位置。 将文件存储在根文件夹(如 C:\)中并不安全。 对于应用程序数据,最好使用 Application Data 文件夹。 对于个人用户数据,应用程序可在每个用户的 Documents 文件夹中创建文件。
使用有效的文件名。 可使用 OpenFileDialog 和 SaveFileDialog 控件降低使用无效文件名的可能性。
请注意,在代码可以操作文件之前,用户选择的文件可能会被删除。 此外,用户可能没有写入该文件的权限。
安全性
片段的安全性取决于在源代码中使用它的位置,以及位于代码中后如何对其进行修改。 以下列表包含一些需要考虑的方面:
- 文件和数据库访问
- 代码访问安全性
- 保护事件日志和注册表等资源
- 存储机密
- 验证输入
- 将数据传递到脚本编写技术
有关详细信息,请参阅保护应用程序。
下载的代码片段
Visual Studio 安装的代码片段本身并不是安全隐患。 但它们会在应用程序中带来安全性风险。 从互联网上下载的片段应该像其他下载的内容一样格外小心处理。 仅从信任的站点下载代码片段,并使用最新的防病毒软件。
在 Visual Studio 的记事本或 XML 编辑器中打开所有已下载的代码片段文件,并在安装前仔细检查。 请注意下列问题:
执行后可能会损坏系统的片段代码。 在运行前请仔细阅读源代码。
片段文件中的
HelpURL
块,包含执行恶意脚本文件或显示冒犯性网站的 URL。包含引用的片段,以静默方式添加到项目中,并且可以从系统的任何位置加载。 可以从下载片段的同一位置下载这些引用。 然后,片段可以调用引用中执行恶意代码的方法。 若要检测此类引用,请查看片段文件的
Imports
和References
块。