<h1 align="center">
  <img src="src/SharpIDE.Godot/Resources/SharpIdeV3.svg" alt="SharpIDE icon" width="100" height="100" />
  <br>
  SharpIDE
</h1>

A modern, cross platform & open source IDE for .NET

<img width="1638" height="935" alt="image" src="https://github.com/user-attachments/assets/bce91555-a1f2-43ab-a525-8353b4c7cff2" />

## Completions
<img width="1638" height="848" alt="image" src="https://github.com/user-attachments/assets/2d6e694c-558b-4566-903e-dde38ab34b11" />

## Code Action/Refactoring
<img width="1636" height="852" alt="image" src="https://github.com/user-attachments/assets/1448d630-ec5d-4a32-8827-bb78fd27872a" />

## Symbol Info
<img width="1596" height="853" alt="image" src="https://github.com/user-attachments/assets/b5b3f2f7-0b85-4486-a7d2-9c7ed66ab288" />

## Razor Syntax Highlighting
<img width="1619" height="852" alt="image" src="https://github.com/user-attachments/assets/2935f3a3-a5b7-4949-96d6-06f0b5a77d33" />

## Run
<img width="1544" height="867" alt="image" src="https://github.com/user-attachments/assets/53c32fd2-959d-4e72-9e50-83edaa008d8b" />

## Debug (WIP)
<img width="1545" height="868" alt="image" src="https://github.com/user-attachments/assets/5f20f0d8-b31a-436c-b477-57961c10f558" />

## Build
<img width="1544" height="868" alt="image" src="https://github.com/user-attachments/assets/4906de77-f3a7-4dc6-8138-6a824ae3eb61" />

## NuGet (WIP)
<img width="1651" height="1002" alt="image" src="https://github.com/user-attachments/assets/a9f9259e-f733-43ad-a99e-9a932baf6f9d" />

## Test Explorer (WIP)
<img width="1630" height="895" alt="image" src="https://github.com/user-attachments/assets/b76efd8e-6f57-42a4-b2dc-8fd3e907db83" />

## Solution Picker
<img width="842" height="498" alt="image" src="https://github.com/user-attachments/assets/044f0ed3-f679-4fbf-9c3c-c6180bfda7ab" />

### Errors
SharpIDE is still a WIP, so please do not rely on it for production usage. If you encounter an error, please raise an issue! 😊

### Building
if using a preview .NET SDK, ensure that `DOTNET_ROLL_FORWARD_TO_PRERELEASE` is set to `1` as per https://github.com/godotengine/godot/issues/98334, otherwise it will blow up.
