Docs

.NET in Gitpod

Example Repositories

Repository Description Try it
uno Build Mobile, Desktop and WebAssembly apps with C# and XAML Open in Gitpod
coolstore-microservices A Kubernetes-based microservices application on service mesh written in C# Open in Gitpod
uno.quickstart An Uno “Hello world!” project using Windows UWP, iOS, Android and WebAssembly Open in Gitpod
Fable F# to JavaScript Compiler written in F# Open in Gitpod

Installing the .NET Tools

To get all the .NET tools that you need pre-installed in your Gitpod workspaces, use the following base image in your .gitpod.yml:

image: gitpod/workspace-dotnet

If your project requires a GUI or Virtual Desktop, please use this image instead:

image: gitpod/workspace-dotnet-vnc

This will give you a full GUI Virtual Desktop for your .NET application! The Virtual Desktop will be running on port 6080.

Compiling .NET Code in Gitpod

To compile your C# Code in Gitpod, run mono-csc <FILE>, where <FILE> is the path to the C# program you want to compile.

To compile your F# Code in Gitpod, run fsharpc <FILE>, where <FILE> is the path to the F# program you want to compile.

Running *.EXE files in Gitpod

To run your code after it has been compiled run mono <FILE> where <FILE> is the path to the EXE file you want to run

Useful VSCode Extensions

The C# Extension

C# Extension Demo

This extension brings code completion, snippets, auto-formatting, peek definition, refactoring, and hover documentation for C#! To install this extension for your repository, add the following to your .gitpod.yml file:

vscode:
  extensions:
    - ms-vscode.csharp@1.21.12:kw8SkO8+aVTSFug281WfQQ==

Ionide-fsharp

Ionide fsharp Example

Ionide-fsharp gives F# developers the following features:

  • A Widget for your F# needs
  • Auto completion
  • Shows errors inline
  • Quickfix
  • Goto definition
  • Peek definition

To add this extension to your repository, add the following to your .gitpod.yml:

vscode:
  extensions:
    - Ionide.Ionide-fsharp@4.6.2:yBkAE6j7z7gJ5WEcyMjEOg==

Still Have Questions?

Please reach out. We’re happy to answer them.