This GitHub project has been archived. Ongoing development on this project can be found in https://github.com/aspnet/AspNetCore.
The Razor syntax provides a fast, terse, clean and lightweight way to combine server code with HTML to create dynamic web content. This repo contains the tooling to enable Razor in Visual Studio Code. The Razor tooling ships as part of the Visual Studio Code C# extension.
This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.
To use the Razor tooling for Visual Studio Code:
-
Install Visual Studio Code + latest C# extension
-
Open any project containing Razor (cshtml) files to get intellisense and diagnostics:
To disable the Razor tooling in Visual Studio Code:
- Open the Visual Studio Code User Settings: File -> Preferences -> Settings
- Search for "razor"
- Check the "Razor: Disabled" checkbox
- Visual Studio Code + latest C# extension
- Node.js (8.12.0 or later)
- Mono (5.18.1 or later)
Clone the repo and restore Git submodules by running the following:
git clone https://github.com/aspnet/Razor.VSCode.git
cd Razor.VSCode
git submodule update --init --recursive
This repo uses the same set of build tools as the other ASP.NET Core projects. The developer documentation for building is the authoritative guide. Please read this document and check your PATH setup if you have trouble building or using Visual Studio Code
To build at the command line, run build.cmd
or build.sh
from the solution directory.
To run the built Razor tooling in Visual Studio Code:
-
Ensure you've run
build.cmd
orbuild.sh
. -
Ensure the installed
dotnet
from running the build script is on your path. -
In the
client
directory run the following:npm install npm run compile
-
Open the solution folder in Visual Studio Code
-
Set the "razor.devmode" setting to true in the Visual Studio Code Workspace settings (File -> Preferences -> Settings -> Workspace Settings)
-
Run in the debugger (F5) using the Extension launch profile
-
A new Visual Studio Code instance will open as an Extension Development Host
-
Try out Razor tooling features in
Pages/Index.cshtml
or any other Razor file- NOTE: there may be a delay while the Razor Language Service starts up. See the Razor Log and OmniSharp log in the output window (View -> Output) to see the current status
To run all extension tests:
-
Close all instances of Visual Studio Code
-
From the
client
directory run:npm test