创建和安装自定义项目模板
Rider 支持 .NET 工具使用的模板系统 dotnet new ,该系统允许您使用来自 dotnet templates gallery的项目模板,以及您可以自行创建的自定义模板。
安装新项目模板有两种方式。
您可以在命令行中运行
dotnet new --install [template package],其中[template package]是来自 dotnet templates gallery的模板 ID。在 新建项目/新建解决方案 对话框中,点击左侧的 更多模板 ,然后点击 安装模板 ,接着选择包含自定义项目模板的文件夹或包文件。
当模板路径出现在列表中时,点击 重新加载。
创建自定义项目模板
创建具有所需结构的项目。 您可以将任何项目作为起点,或者使用任何现有模板创建一个新项目。
为了说明这一点,我们选择了一个仅包含一个文件的最简单项目。
ConsoleAppAsyncMain ├── bin ├── obj ├── MyProject.csproj ├── Program.csProgram.cs 包含
async main方法作为默认的应用程序入口点:using System; using System.Threading.Tasks; namespace MyProject { class Program { static async Task Main(string[] args) { Console.WriteLine("Hello World!"); } } }将项目文件夹复制到您将用作模板的位置。
删除 bin 、 obj 以及与模板源代码无关的任何其他目录和文件。
在复制的项目目录(现在是模板目录)中,添加一个名为 .template.config 的文件夹,并在其中添加一个名为 template.json 的文件。
现在模板结构应如下所示:
MyTemplates ├── ConsoleAppAsyncMain ├── .template.config ├── template.json ├── MyProject.csproj ├── Program.cs在模板描述符 template.json 中指定模板属性
最小描述符可以如下所示,但如果需要,您可以提供更详细的配置。 您可以在这篇 Microsoft .NET Blog 文章中找到更多信息和示例。
{ "author": "Your Name", "name": "Async Main Console Application", "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, and has an async Main method.", "identity": "YourName.ConsoleApp.1.0", "shortName": "consoleasync", "tags": { "language": "C#", "type": "project" }, "sourceName": "MyProject", "symbols": { "Framework": { "type": "parameter", "description": "The target framework for the project.", "datatype": "choice", "choices": [ { "choice": "netcoreapp2.0" }, { "choice": "netcoreapp3.0" } ], "defaultValue": "netcoreapp2.0" } } }上述配置中的属性不言自明,除了
"sourceName": "MyProject"。当您使用此模板创建项目时,此属性的值将在所有地方替换为您为新项目指定的名称。
在我们的示例中,新名称将替换项目文件名和 Program.cs 中的命名空间。
您的新项目模板已准备就绪,您可以在 新建项目/新建解决方案 对话框中安装它——点击左侧的 更多模板 ,然后点击 安装模板 ,接着选择保存模板的 ConsoleAppAsyncMain 文件夹。
当模板路径出现在列表中时,点击 重新加载。
模板安装完成后,您可以在左侧列表中找到它,并使用它创建新项目:
