The BlazorWebFormsComponents Snippets package provides Visual Studio code snippets to accelerate development with the BlazorWebFormsComponents library.
This Visual Studio extension includes snippets for:
- Static Imports - Quickly add
@using staticdirectives for enumeration types - Component Patterns - Common component markup templates with placeholders
- Validation Controls - Quick templates for validation scenarios
- Download the
.vsixfile from the releases page - Double-click the
.vsixfile to install - Restart Visual Studio
- Open Visual Studio
- Go to Extensions > Manage Extensions
- Search for "Blazor Web Forms Components Snippets"
- Click Download and restart Visual Studio
Note: VSIX extensions can only be built on Windows with Visual Studio 2022 installed.
- Windows OS
- Visual Studio 2022 (any edition)
- Visual Studio SDK (VSSDK) component installed
cd src/BlazorWebFormsComponents.Snippets
.\Build-VSIX.ps1- Open
BlazorMeetsWebForms.slnin Visual Studio 2022 - Right-click the
BlazorWebFormsComponents.Snippetsproject - Select "Build"
The VSIX file will be created in bin\Release\BlazorWebFormsComponents.Snippets.vsix.
| Shortcut | Description | Output |
|---|---|---|
bwfall |
All common static imports | All enumeration static imports |
bwfrepeat |
RepeatLayout enumeration | @using static BlazorWebFormsComponents.Enums.RepeatLayout |
bwfdatalist |
DataListEnum enumeration | @using static BlazorWebFormsComponents.Enums.DataListEnum |
bwfvalidation |
Validation enumerations | Static imports for validation types |
| Shortcut | Component | Description |
|---|---|---|
bwfgridview |
GridView | Basic GridView with columns |
bwfdl |
DataList | DataList with ItemTemplate |
bwfrepeater |
Repeater | Repeater with ItemTemplate |
bwflistview |
ListView | ListView with ItemTemplate |
bwfformview |
FormView | FormView with Item and Edit templates |
bwfbutton |
Button | Button with click handler |
bwftextbox |
TextBox | TextBox with binding |
bwfdropdown |
DropDownList | DropDownList with data binding |
bwfcheckboxlist |
CheckBoxList | CheckBoxList with data binding |
bwfradiolist |
RadioButtonList | RadioButtonList with data binding |
| Shortcut | Control | Description |
|---|---|---|
bwfrequired |
RequiredFieldValidator | Required field validation |
bwfvalsummary |
ValidationSummary | Validation summary display |
To use enumeration values without full qualification:
- Type
bwfallat the top of your.razorfile - Press
Tabtwice - All common static imports are added
@using BlazorWebFormsComponents
@using static BlazorWebFormsComponents.Enums.RepeatLayout
@using static BlazorWebFormsComponents.Enums.DataListEnum
@using static BlazorWebFormsComponents.Enums.ValidationSummaryDisplayMode
@using static BlazorWebFormsComponents.Enums.ButtonType
@using static BlazorWebFormsComponents.Enums.ValidationDataType
@using static BlazorWebFormsComponents.Enums.ValidationCompareOperator
@using static BlazorWebFormsComponents.Enums.BorderStyle
@using static BlazorWebFormsComponents.Enums.HorizontalAlign
@using static BlazorWebFormsComponents.Enums.VerticalAlign
@using static BlazorWebFormsComponents.Enums.TextAlignNow you can use values like Table, Flow, Horizontal, Vertical directly:
<DataList ItemType="Product" DataSource="@products" RepeatLayout="Table" RepeatDirection="Horizontal">
...
</DataList>- Type
bwfgridviewwhere you want the component - Press
Tabtwice - Fill in the placeholders:
- First tab stop: Item type (e.g.,
Product) - Second tab stop: Data source variable (e.g.,
products)
- First tab stop: Item type (e.g.,
- Add more columns as needed
- Type
bwftextboxto create a TextBox - Type
bwfrequiredto add validation - Type
bwfvalsummaryto add a validation summary
<TextBox @bind-Text="userName" CssClass="form-control" />
<RequiredFieldValidator ControlToValidate="userName"
ErrorMessage="User name is required"
Display="Dynamic" />
<ValidationSummary HeaderText="Please correct the following errors:"
DisplayMode="BulletList"
ShowSummary="true" />BlazorWebFormsComponents uses static classes for enumeration types to provide a more object-oriented approach. Static imports allow you to use these values more concisely:
Without static import:
<DataList RepeatLayout="BlazorWebFormsComponents.Enums.RepeatLayout.Table" />With static import:
@using static BlazorWebFormsComponents.Enums.RepeatLayout
<DataList RepeatLayout="Table" />The snippets are available in:
- Razor (
.razorfiles) - C# (
.csfiles, for the static imports) - HTML (for component markup)
- Visual Studio 2022 or later
- BlazorWebFormsComponents NuGet package in your project
To add new snippets:
- Create a new
.snippetfile in theSnippets/folder - Follow the XML structure of existing snippets
- Add appropriate shortcut, description, and code template
- Build the project to test
BlazorWebFormsComponents.Snippets/
├── BlazorWebFormsComponents.Snippets.csproj # Project file
├── source.extension.vsixmanifest # VSIX manifest
├── LICENSE.txt # MIT license
├── icon.png # Extension icon
├── README.md # Documentation
└── Snippets/ # Snippet files
├── snippets.pkgdef # VS registration
├── AllStaticImports.snippet
├── StaticImportRepeatLayout.snippet
├── StaticImportDataListEnum.snippet
├── StaticImportValidation.snippet
├── GridViewComponent.snippet
├── DataListComponent.snippet
├── RepeaterComponent.snippet
├── FormViewComponent.snippet
├── ButtonComponent.snippet
├── TextBoxComponent.snippet
├── CheckBoxListComponent.snippet
├── RequiredFieldValidator.snippet
└── ValidationSummary.snippet