カスタムプロジェクトテンプレートを作成してインストールする
Rider は、.NET ツール dotnet new で使用されるテンプレートシステムをサポートしており、 dotnet テンプレートギャラリー(英語)のプロジェクトテンプレートや独自に作成できるカスタムテンプレートを使用できます。
新しいプロジェクトテンプレートをインストールするには、2 つの方法があります。
コマンドラインで
dotnet new --install [template package]を実行できます。ここで、[template package]は dotnet templates gallery のテンプレート ID です。新規プロジェクト/新規ソリューション ダイアログで、左側の その他のテンプレート をクリックし、次に テンプレートをインストールする をクリックして、カスタムプロジェクトテンプレートを含むフォルダーまたはパッケージファイルを選択します。
テンプレートへのパスがリストに表示されたら、 再読み込み をクリックします。
カスタムプロジェクトテンプレートを作成する
目的の構造でプロジェクトを作成します。 任意のプロジェクトを開始点として使用することも、既存のテンプレートを使用して新しいプロジェクトを作成することもできます。
これを説明するために、1 つのファイルのみを含む最も単純なプロジェクトを取り上げます。
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 ブログ記事(英語)でより多くの情報と例を見つけることができます。
{ "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 フォルダーを選択してください。
テンプレートへのパスがリストに表示されたら、 再読み込み をクリックします。
テンプレートがインストールされるとすぐに、左側のリストでテンプレートを見つけて、新しいプロジェクトを作成するために使用できます。
