Orchestrating Visual Studio Code Series
One of the great features of Visual Studio Code is its extensibility. In this series, we will learn how to orchestrate your development environment by leveraging the built in extension points of the IDE.
Prerequisites
- Visual Studio Code: https://code.visualstudio.com
- DotNet Core SDK: https://www.microsoft.com/net/download
- Docker: https://www.docker.com
Sections
The series is broken down into several sections:
Part 2 : Tasks and Launchers
We start by learning how to leverage tasks to build docker containers, push NuGet packages, run unit and integration tests, and more. Configure launchers to debug your code locally and remotely within docker.
Part 3 : Debugging with Docker Containers
Everything needed to remotely debug your microservices from within the docker environment.
Part 4 : AppSettings and the Container
Learn to configure multiple runtime settings to allow combinations of local and container debugging.
Part 5 : Unit Testing
Executing unit tests using VSCode tasks.
Part 6 : Code Coverage
Leverage coverlet and LCOV to generate html test-coverage reports.
Part 7 : NuGet Deployments
Deploy nuget packages with VSCode tasks.
Part 8 : Continuous Integration Builds
Create a CI build using everything we've learned using TravisCI.
Windows Users
All script samples in this series are written in bash for OSX and Linux. PowerShell equivalent scripts are provided in the source repository to allow identical functionality under Windows. In fact, all of the provided VS Code tasks will automatically point to the PowerShell scripts when running on a Windows OS.
Code Samples
A fully-functional project is provided for the series. Each part is contained in its own branch. Be sure to select the appropriate branch for each part of the series.
The full source code can be found at: https://github.com/christophla/blog-orchestrating-vscode
Next Post : Tasks and Launchers
In the next post we will learn how to leverage tasks and launchers to orchestrate building and debugging our application.