Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article applies to: ✔️ .NET Core 3.1 SDK and later versions
Name
dotnet new list - Lists available templates to be run using dotnet new.
Synopsis
dotnet new list [<TEMPLATE_NAME>] [--author <AUTHOR>] [-lang|--language {"C#"|"F#"|VB}]
[--tag <TAG>] [--type <TYPE>] [--columns <COLUMNS>] [--columns-all]
[-o|--output <output>] [--project <project>] [--ignore-constraints]
[-d|--diagnostics] [--verbosity <LEVEL>] [-h|--help]
Description
The dotnet new list command lists available templates to use with dotnet new. If the <TEMPLATE_NAME> is specified, lists templates containing the specified name. This option lists only default and installed templates. To find templates in NuGet that you can install locally, use the search command.
Starting with .NET SDK 7.0.100, the list command might not show all the templates installed on the machine. It takes the result of template constraints into account, and the templates that can't be used won't be shown. To force show all the templates, use the --ignore-constraints option.
Note
Starting with the .NET 7 SDK, the dotnet new syntax has changed:
- The
--list,--search,--install, and--uninstalloptions becamelist,search,install, anduninstallsubcommands. - The
--update-applyoption became theupdatesubcommand. - To use
--update-check, use theupdatesubcommand with the--check-onlyoption.
Other options that were available before are still available to use with their respective subcommands.
Separate help for each subcommand is available via the -h or --help option: dotnet new <subcommand> --help lists all supported options for the subcommand.
Additionally, tab completion is now available for dotnet new. It supports completion for installed template names and for the options a selected template provides.
To activate tab completion for the .NET SDK, see Enable tab completion.
Examples of the old syntax:
List all Single Page Application (SPA) templates:
- since .NET SDK 6.0.100
dotnet new --list spa- before .NET SDK 6.0.100
dotnet new spa --list
Arguments
TEMPLATE_NAMEIf the argument is specified, only the templates containing
<TEMPLATE_NAME>in template name or short name will be shown.
Options
--author <AUTHOR>Filters templates based on template author. Partial match is supported. Available since .NET SDK 5.0.300.
--columns <COLUMNS>Comma-separated list of columns to display in the output. The supported columns are:
language- A comma-separated list of languages supported by the template.tags- The list of template tags.author- The template author.type- The template type: project or item.
The template name and short name are always shown. The default list of columns is template name, short name, language, and tags. This list is equivalent to specifying
--columns=language,tags. Available since .NET SDK 5.0.300.--columns-allDisplays all columns in the output. Available since .NET SDK 5.0.300.
-d|--diagnosticsEnables diagnostic output. Available since .NET SDK 7.0.100.
-h|--helpPrints out help for the list command. Available since .NET SDK 7.0.100.
--ignore-constraintsDisables checking if the template meets the constraints to be run. Available since .NET SDK 7.0.100.
-lang|--language {C#|F#|VB}Filters templates based on language supported by the template. The language accepted varies by the template. Not valid for some templates.
Note
Some shells interpret
#as a special character. In those cases, enclose the language parameter value in quotes. For example,dotnet new --list --language "F#".-o|--output <OUTPUT_DIRECTORY>Location to place the generated output. The default is the current directory. For the list command, it might be necessary to specify the output directory to correctly evaluate constraints for the template. Available since .NET SDK 7.0.100.
--project <PROJECT_PATH>The project that the template is added to. For the list command, it might be needed to specify the project the template is being added to to correctly evaluate constraints for the template. Available since .NET SDK 7.0.100.
--tag <TAG>Filters templates based on template tags. To be selected, a template must have at least one tag that exactly matches the criteria. Available since .NET SDK 5.0.300.
--type <TYPE>Filters templates based on template type. Predefined values are
project,item, andsolution.-v|--verbosity <LEVEL>Sets the verbosity level of the command. Allowed values are
q[uiet],m[inimal],n[ormal], anddiag[nostic]. Available since .NET SDK 7.0.100.
Examples
List all templates
dotnet new listList all Single Page Application (SPA) templates:
dotnet new list spaList all templates matching the we substring.
dotnet new list weList all templates matching the we substring that support the F# language.
dotnet new list we --language "F#"List all item templates.
dotnet new list --type itemList all C# templates, showing the author and the type in the output.
dotnet new list --language "C#" --columns "author,type"