dotnet new search

This article applies to: ✔️ .NET Core 5.0.300 SDK and later versions

Name

dotnet new --search - searches for the templates supported by dotnet new on NuGet.org.

Synopsis

dotnet new <TEMPLATE_NAME> --search

dotnet new [<TEMPLATE_NAME>] --search [--author <AUTHOR>] [-lang|--language {"C#"|"F#"|VB}]
    [--package <PACKAGE>] [--tag <TAG>] [--type <TYPE>]
    [--columns <COLUMNS>] [--columns-all]

Description

The dotnet new --search option searches for templates supported by dotnet new on NuGet.org. When the <TEMPLATE_NAME> is specified, searches for templates containing the specified name.

Note

Starting with .NET SDK 7.0.100 Preview 2, the dotnet new syntax has changed:

  • The --list, --search, --install, and --uninstall options became list, search, install and uninstall subcommands.
  • The --update-apply option became the update subcommand.
  • to use --update-check, use the update subcommand with the --check 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, as well as completion for the options a selected template provides. To activate tab completion for the .NET SDK, see Enable tab completion.

Examples of the new syntax:

  • Show help for the search subcommand.

    dotnet new search --help
    
  • Search for all templates available on NuGet.org matching the "we" substring and supporting the F# language

    dotnet new search we --language "F#"
    

Arguments

  • TEMPLATE_NAME

    If the argument is specified, only templates containing <TEMPLATE_NAME> in the template name or short name will be shown. The argument is mandatory when --author, --language, --package, --tag or --type options are not specified.

    Note

    Starting with .NET SDK 6.0.100, you can put the <TEMPLATE_NAME> argument after the --search option. For example, dotnet new --search web provides the same result as dotnet new web --search. Using more than one argument is not allowed.

Options

  • --author <AUTHOR>

    Filters templates based on template author. Partial match is supported.

  • --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, short name, package name and total downloads count are always shown. The default list of columns is template name, short name, author, language, package, and total downloads. This list is equivalent to specifying --columns=author,language.

  • --columns-all

    Displays all columns in the output.

  • -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 --search --language "F#".

  • --package <PACKAGE>

    Filters templates based on NuGet package ID. Partial match is supported.

  • --tag <TAG>

    Filters templates based on template tags. To be selected, a template must have at least one tag that exactly matches the criteria.

  • --type <TYPE>

    Filters templates based on template type. Predefined values are project, item, and solution.

    Note

    To ensure that the template package appears in dotnet new --search result, set the NuGet package type to Template.

Examples

  • Search for all templates available on NuGet.org matching the spa substring.

    • since .NET SDK 6.0.100
    dotnet new --search spa
    
    • before .NET SDK 6.0.100
    dotnet new spa --search
    
  • Search for all templates available on NuGet.org matching the we substring and supporting the F# language.

    • since .NET SDK 6.0.100
    dotnet new --search we --language "F#"
    
    • before .NET SDK 6.0.100
    dotnet new we --search --language "F#"
    
  • Search for item templates.

    dotnet new --search --type item
    
  • Search for all C# templates, showing the type and tags in the output.

    dotnet new --search --language "C#" --columns "type,tags"
    

See also