Skip to content

JaneySprings/DotRush

Repository files navigation

C# Development Environment for Visual Studio Code

 DotRush is a powerful, lightweight, and efficient C# Development Environment designed for VS Code. Built with performance and simplicity in mind, DotRush provides a seamless development experience for C# developers.


For Neovim Users | For Zed Users

Overview

  • C# IntelliSense
    Roslyn-based autocompletion, suggestions, and code navigation to help you write code faster.

  • .NET Core Debugger
    Debug your C# applications with the built-in .NET Core Debugger.

  • .NET Core Profiler
    Profile your .NET Core applications with the built-in profiler tools.

  • Unity Debugger
    Debug your Unity projects with the integrated Mono Debugger.

  • Test Explorer
    Run and debug your unit tests with the integrated Test Explorer.

  • Code Decompilation
    Instantly decompile code with ICSharpCode Decompiler to view the underlying source.

  • Multitarget Diagnostics
    Real-time linting and error detection to catch issues early in all target frameworks of your project.

  • Multi-platform Support
    Seamless integration with both VS Code and NeoVim on Windows, macOS, and Linux.

  • Performance
    Lightweight and efficient, DotRush is designed to be fast and responsive.

Working with Projects and Solutions

 If your folder contains multiple projects or a solution file, DotRush will show the following picker for all projects and solutions in the folder. DotRush automatically saves selected projects and solutions in the workspace settings. You can open it manually by executing the DotRush: Pick Project or Solution files command:

image

Running and Debugging .NET Core Applications

 To run and debug your .NET Core applications, you can use the built-in .NET Core Debugger. You can start debugging by pressing F5 and select the .NET Core Debugger configuration. You can also create a launch.json file with the following content:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Debugger (launch)",
            "type": "coreclr",
            "request": "launch",
            "program": "${command:dotrush.activeTargetPath}",
            "preLaunchTask": "dotrush: Build"
        },
        {
            "name": ".NET Core Debugger (attach)",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:dotrush.pickProcess}"
        }
    ]
}

 You can change the startup project by clicking on it and executing the Set as Startup Project command from the context menu. You can also change the debugger options in the VSCode settings.

image

Running and Debugging NUnit / xUnit Tests

 To run and debug your NUnit or xUnit tests, you can use the integrated Test Explorer in VSCode. Run test by clicking on the run button next to the test or debug it by right-clicking on the run button and selecting the Debug Test option in the context menu.

image

Debugging Unity Projects

 To debug your Unity project, you can use the integrated Mono Debugger. Open the Unity project in VSCode (for example, by opening it from the Unity Editor) and start debugging by pressing F5 and select the Unity Debugger configuration. You can also create a launch.json file with the following content:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Unity Debugger",
            "type": "unity",
            "request": "attach"
        }
    ]
}

 You can change the debugger options in the VSCode settings.

image

Debugging Godot Projects

 To debug your Godot project, open it in VSCode and create a launch.json file with the following content (adjust the processPath to the location of your Godot Engine executable):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Debugger (attach)",
            "type": "coreclr",
            "request": "attach",
            "processPath": "C:\\Programs\\Godot\\Godot_v4.4.1-stable_mono_win64.exe",
            "preLaunchTask": "dotrush: Build"
        }
    ]
}

 Press F5 to start debugging. It will launch the Godot Engine and attach the debugger to it:

image

Profiling .NET Core Applications

 To profile your .NET Core applications, you can use the built-in dotnet-trace and dotnet-gcdump tools. You can attach the profiler to a running process by executing the DotRush: Attach Trace Profiler or DotRush: Create Heap Dump commands. Also you can use the following buttons in the debugger toolbar if you have the .NET Core Debugger running:

image

  • For the trace report, you can use the Speedscope in VSCode extension to view it. Alternatively, you can upload it directly to the speedscope site.
  • For the gcdump report, you can use the dotnet-heapview or Visual Studio for Windows.

Limitations

 DotRush currently supports only C# language features and does not support Razor, XAML, or other languages. Also it does not support the following language features:

  • CodeLens
    DotRush does not support CodeLens features such as references, tests, and other CodeLens features.

  • Semantic Highlighting
    DotRush does not support advanced semantic highlighting. Use the built-in syntax highlighting instead.

About

Lightweight C# development environment for VSCode

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •