dotnet new list
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--uninstall
options becamelist
,search
,install
, anduninstall
subcommands. - The
--update-apply
option became theupdate
subcommand. - To use
--update-check
, use theupdate
subcommand with the--check-only
option.
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_NAME
If 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-all
Displays all columns in the output. Available since .NET SDK 5.0.300.
-d|--diagnostics
Enables diagnostic output. Available since .NET SDK 7.0.100.
-h|--help
Prints out help for the list command. Available since .NET SDK 7.0.100.
--ignore-constraints
Disables 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 list
List all Single Page Application (SPA) templates:
dotnet new list spa
List all templates matching the we substring.
dotnet new list we
List 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 item
List all C# templates, showing the author and the type in the output.
dotnet new list --language "C#" --columns "author,type"