Read this post in other languages:

说实话, 编程的有些部分乏味又重复。 JetBrains 产品提供通用快速修复和模板来帮助减少样板代码,使大多数开发者受益。 即便如此,您的项目可能拥有独特的代码结构和模式,只有您和您的团队使用。

为您和您的团队创建一组专属模板 在整个应用程序开发过程中使用是不是听起来不错? 使用实时模板, 您就可以做到这一点

本文将展示如何使用占位符变量创建新的实时模板并与其他项目成员共享模板。

什么是实时模板?

实时模板是一个代码块,可以扩展为循环、条件、声明或语句等常用构造。 在 JetBrains IDE 的上下文中,实时模板有一个与之关联的键,使其在扩展时易于记忆和访问。

此外,实时模板分为两类: 简单模板 形参化模板

简单模板仅包含固定的纯文本,用于减少生成样板代码时的按键次数。 形参化模板包括的 变量 会启用第二个步骤,使用基于文件类型上下文的 计算值 替换输入字段或让您手动指定值。

所有实时模板都可以使用语言或文件扩展名等类别限制在特定上下文中。 这种灵活性确保实时模板只在您需要的时间和位置出现。

创建新的实时模板

在本例中,您将创建一个新的 rec 实时模板,用来创建 record 定义和设置名称。 此模板仅在 C# 上下文中可用。

首先,打开 JetBrains Rider 的设置,导航到 Editor | Live Templates | C# (编辑器 | 实时模板 | C#)。 在这里,您将看到所有现有的实时模板。

点击右上角现有模板列表旁的 New Template (新建模板)按钮。 您需要将 Shortcut (快捷键)的以下值更改为“rec”,将 Description (描述)的以下值更改为“创建 C# 记录”,同时将所有其他设置保留为默认值。

您还需要在左侧使用以下模板。

// Created At $DATETIME$
$MODIFIER$ record $NAME$($END$);

粘贴模板后,点击右下角的 Edit variables (编辑变量)按钮更改每个占位符的宏。 确保匹配以下顺序和设置。

这些 模板变量 可以在实时模板中使用,并且将自动填充或充当占位符,以后您可以在使用实时模板时通过 Tab ⇥ 切换。

您会注意到 $END$ 不在变量列表中。 这是因为 $END$ 是保留变量,指示光标的最终位置。

现在,我们可以开始使用新的实时模板了! 在 C# 文件中,输入 rec ,您将看到创建的实时模板,然后可以按 Enter 开始扩展模板。 观看以下视频了解它的实际运作。

共享实时模板

实时模板可以通过 JetBrains Rider 基于层的设置 与其他团队成员共享。 遵循上一节中的相同步骤,但在点击保存按钮之前,务必使用下拉菜单选择 team-shared (团队共享)选项,这会将新创建的实时模板保存到解决方案根下的 .sln.DotSettings 文件中。

如果在 .DotSettings 文件中没有看到实时模板内容,尝试删除实时模板并重新创建。 JetBrains Rider 只会保存个人和团队共享环境之间的差异。 务必将 .DotSettings 文件签入源代码管理,以便与团队成员共享模板。

实时模板是 JetBrains Rider 的一项强大功能,即使您使用过我们的模板,您也很可能尚未创建过自己的模板。 实时模板允许跨团队共享知识。 您也可以省去不必要的输入,使用它们改进在线讲座和现场演示。 我们希望这个简短的教程能让您有意愿尝试实时模板并与团队成员共享。

如果您有想分享的实时模板,请在下方评论。

  • 实时模板 https://www.jetbrains.com/help/rider/Using_Live_Templates.html
  • 基于层的设置 https://www.jetbrains.com/help/rider/Sharing_Configuration_Options.html
  • 实时模板变量 https://www.jetbrains.com/help/rider/template_variables.html#predefined_functions
  • 图片来源: Thomas Despeyroux

    By submitting this form, I agree that JetBrains s.r.o. ("JetBrains") may use my name, email address, and location data to send me newsletters, including commercial communications, and to process my personal data for this purpose. I agree that JetBrains may process said data using third-party services for this purpose in accordance with the JetBrains Privacy Policy . I understand that I can revoke this consent at any time in my profile . In addition, an unsubscribe link is included in each email.

    加入我们的 JetBrains GameDev Day 2023

    欢迎参加 JetBrains GameDev Day 2023,我们希望这项混合活动能够为 2023 年 10 月 13 日(星期五)带来些好运。 欢迎参加! 每年一次,我们邀请社区演讲者谈论各种话题。 我们已邀请来自不同领域的 11 位专家发表演讲、主持讨论,以及分享制作最佳游戏的专业技巧。 我们将探讨游戏测试、CI/CD、Unity 的 DOTS 以及 Apple Vision Pro 开发等方面。 2023 年,我们将开启混合模式。 整个活动在线进行,但我们也会在塞浦路斯举办观看活动,让您可以与其他与会者一起观看直播,并在活动后派对上一起讨论。 立即注册! Scalable …

    加入我们的 JetBrains .NET Day Online ’23

    我们将于 9 月 26 日举办免费年度活动 JetBrains .NET Day Online ’23。 我们邀请了 10 位出色的社区演讲者,他们将就其热衷的话题展开讨论。 加入我们 11 小时的 .NET 开发洞察活动,其中包括演示内容丰富的会议以及适合所有技能水平的实用提示。 听起来很棒, 我要加入! Recreating Wolfenstein 3D in F#(使用 F…

    在 JetBrains Rider 中调试源生成器

    源生成器有助于开发者重新思考使用反射的方法,转而使用编译时技术避免昂贵操作的运行时开销。 .NET 团队于 2020 年 4 月 29 日向社区推出了源生成器,采用这种新方法,可以通过 Roslyn 检查项目代码并生成新的 C# 源文件向项目添加新功能。 虽然源生成器的优点显而易见,但其使用或构建可能会较为复杂。 好在 JetBrains Rider 解决了这些问题,使用它可以查看任意源生成器的输出、调试生成的工件,以及调试源生成器本身。  这些技术都有助于梳理源生成流程,并让您成为更自信的开发者。 接下来,我们就一起看看这些功能。 继续阅读前,您可以克隆我的示例源生成器项目。