IRONSOFTWAREHOME

在 C# 中创建代码片段 - 自定义 Visual Studio 以提高效率

在 C# 中创建代码片段 - 自定义 Visual Studio 以提高效率

Tim Corey

48m 46s

对于使用 C# 的开发人员来说,重复是一个现实问题。 从编写属性到设置控制台方法和捕获异常,某些任务都可以简化。 这就是代码片段的用武之地--小巧、强大、可重复使用的代码块,您只需使用快捷键就能将其快速插入到您的项目中。

在本文中,我们将在 C# 培训专家 Tim Corey 的指导下,探讨如何在 Visual Studio 中创建和使用自定义代码片段。 在他关于"在 C# 中创建代码片段--自定义 Visual Studio 以提高效率"的视频中,Tim 提供了实用的步骤、评论和示例,您可以直接应用到自己的项目中。 最后,您将能够提高工作效率、编写更易读的代码,并在整个开发工作中实施最佳实践。

代码片段为何重要

Tim 首先分享了他如何经常使用片段来插入自动属性、构造函数和foreach 循环等内容。 他演示了输入 cw 并按两次 Tab 键后如何插入 Console.WriteLine(),将光标置于括号之间--这是字符串内容输出的基本技巧。

但正如他所指出的,并非每一种有用的方法都有内置的片段。 例如,Console.ReadLine() 中缺少一个。 蒂姆的回答? 自己创建。

在 Visual Studio 中设置演示项目

为了结合上下文进行演示,Tim 在 Visual Studio 中设置了一个 ASP.NET Core 网络应用程序。 虽然项目的类型并不关键,但有 C# 和 HTML 文件可以让他展示两种语言的例子。

这里需要重点提醒的是:片段并不局限于 C#--它们可以适用于 Visual Studio 支持的多种语言,包括 HTML、XAML 等。

内置片段和快捷键的力量

Tim 演示了几个现有的片段:

  • cw + Tab Tab → Console.WriteLine()

  • ctor + Tab Tab → 构造函数

  • prop + Tab Tab → 自动实现属性(例如,public string Test { get; set; })

  • propfull → 创建一个带有后备字段的属性

这些快捷方式旨在消除重复并提高性能。 您只需指定一个类型(如字符串或 int)和一个名称,其余的就可以自动生成了。

这些内置片段还可以演示插值、访问修饰符(如 public)和系统定义的元素,确保您的代码遵循一致的结构。

在 VS 代码中创建您自己的代码段

Tim 没有使用片段生成器工具,而是选择了 Visual Studio Code,因为它简单易用,还具有 XML 语法高亮功能。

他创建了一个名为 readline.snippet 的文件,并展示了基本的 XML 结构:

<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

这是一个基本片段,使用

Tim 指出,格式将从用户的 Visual Studio 环境中继承,这意味着缩进和间距将与您的设置相匹配。

将片段导入 Visual Studio.

Tim 将讲解如何使用 "工具">"代码片段管理器 "导入 .代码片段文件。 他选择了 "我的代码片段 "位置,确保片段在需要时出现。

导入后,键入 cr + Tab Tab 即可插入 Console.ReadLine() 行,随时可将其值赋值给变量或用于异常处理块。

可重复使用的文档头

接下来,Tim 演示了一个文档片段--这是企业项目或协作团队经常需要的。 他使用 docme 创建了一个片段,该片段会生成一个注释块:

/// Title:
/// Author:
/// Date:
/// Purpose:

这是跟踪更改、作者和文件上下文的理想选择。 虽然 Git 等工具可以处理版本问题,但标题可以提供快速的可视化参考,尤其是在大型团队中。

HTML片段:Bootstrap 表单示例

片段不仅适用于 C# 代码。 Tim 演示了如何在 HTML 中使用这些工具--它们非常适合构建表单、输入元素和结构化标记集合。

他复制了一个 Bootstrap 表单示例,并将其包装成相同的 XML 片段格式,将语言改为 html。 导入后,输入快捷键 sampleform 即可插入一个现成的 HTML 结构,使您无需反复引用外部 URL 或复制模板。

带有占位符和变量的高级代码段

这就是更高级、更强大的地方。 Tim 构建了一个片段,用于检索配置值:

_config.GetValue<string>("values:myTest");

他展示了如何为类型(字符串、int、bool)和路径(values:myTest)使用占位符,这样开发人员只需填写不同的内容。

在 XML 中,他使用了

<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>
C#

在片段正文中

_config.GetValue<$ValType$>("$Path$")

通过使用变量和声明,可以灵活、生动、简洁地生成代码。 它非常适合安全设置检索、字典访问或从 JSON 文件中读取嵌套值等任务。

为什么片段可以提高性能

最后,Tim 解释了代码片段不仅能提高速度,还能促进实践的一致性、减少错误并提高整个团队的代码可读性。 随着时间的推移,即使每个片段节省几秒钟,也能节省几个小时的时间。

他强调,片段有助于

  • 常见任务初始化

  • 使用 try-catch-finally 进行标准化异常处理

  • 创建整个类模板

  • 在最终代码块、结构化捕获代码块和方法重载中工作

最后的想法:开发人员的优势

无论您是在构建复杂的系统还是简单的应用程序,代码片段都能帮助您更快、更稳定地编写 C# 代码或 C# 代码。 它们能让您

  • 消除重复

  • 关注业务逻辑

  • 保持代码库的整洁、插值和完善的文档记录

正如 Tim 在他的综合视频中建议的那样,探索自己的编码习惯。 发现您重复输入相同内容的地方。 然后,确定一种方法:创建一个片段。

您很快就会发现,您已经改变了工作流程,使开发工作更加高效、有序和愉快。

快速入门的片段构思

  • tryfinally - 生成 try + finally 块

  • logerror - 使用 Log.Error() 插入日志记录逻辑

  • propnotify - 使用 INotifyPropertyChanged 的属性

  • filecheck - If File.Exists(path) 内嵌逻辑

  • foreachdict - 循环字典<TKey, TValue>

Tim 的建议不要只是从其他文件复制粘贴--将其变成一个片段,然后再也不要重复输入。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户