# SharpIDE: a .NET IDE built on Godot, and what it does not do yet

> SharpIDE is an MIT-licensed, cross platform IDE for .NET written in C# and built on the Godot engine. It already covers completions, signature help, refactoring, running and debugging; NuGet and the test explorer are marked WIP.

**MattParkerDev/SharpIDE** — A modern, cross platform IDE for .NET, built with .NET & Godot

- Repository: https://github.com/MattParkerDev/SharpIDE
- Website: https://discord.gg/gfstTVqCXF
- Stars: 3,844 · Forks: 143
- Language: C#
- License: MIT
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/mattparkerdev-sharpide

## Who SharpIDE is for, and the gap it tries to fill

The README describes SharpIDE as "a modern, cross platform & open source IDE for .NET", and the repository is explicit that it is a WIP with contributions welcome and issues requested when you hit an error. That framing matters more than the feature list. This is not an attempt to replace a full commercial IDE; it is a C# codebase that builds its own editor surface on top of Roslyn and renders it through Godot.

The audience follows from that. If you write C# on Linux or macOS and want an editor whose entire stack you can read and patch, the source tree is the product. If you only need a text editor with a language server bolted on, the amount of machinery here is more than you asked for. The README's screenshots enumerate what exists today: completions, signature help, code action and refactoring, symbol info, Razor syntax highlighting, run, debug, build, a solution picker, plus NuGet and a test explorer both labelled WIP. That label is the honest boundary of the project.

## How a Godot game engine ends up rendering an IDE

The split is visible in the repository layout rather than in prose. The Godot-facing project lives at src/SharpIDE.Godot, which is where the SVG icon referenced by the README sits, and the solution file is SharpIDE.slnx. The topics list on the repository names the four pieces that explain the design: csharp, dotnet, godot, razor, roslyn.

So the architecture is a Roslyn-backed language service feeding a Godot UI. Godot gives the project a cross platform windowing, input and rendering layer that already works on Windows, macOS and Linux, which is why a small team can ship a GUI editor at all. Roslyn gives it the C# semantics: completions, signature help, symbol information and code actions are the kind of output a Roslyn workspace produces, and the README's screenshots are named after exactly those features. Razor highlighting is a separate concern from C# semantics, and the README gives it its own screenshot rather than folding it into the completions section, which suggests it is handled as its own syntax path.

The trade-off is real. Building an editor on an engine designed for games means the project owns problems that a native toolkit would have solved for it, and it inherits Godot's release cadence and platform quirks. Whether that is a good bet depends on how much you value a single cross platform rendering path over a native look and feel. The README does not argue the case either way.

## Building and running SharpIDE locally

The README does not carry install instructions inline. It points at CONTRIBUTING.md: "See CONTRIBUTING.md for instructions for building and running SharpIDE locally!" The repository root also contains a local-publish.bat, a global.json pinning the SDK, Directory.Build.props and Directory.Packages.props for shared build and package settings, and a nuget.config. Those files are the ones to read before your first build, because the SDK version and central package versions are pinned there rather than in the README.

The README does give one concrete operational procedure, for macOS Tahoe, where unsigned software is restricted. It is worth reading before you assume the app is broken:

```bash
xattr -d -r com.apple.quarantine /Applications/SharpIDE.app
sudo codesign --force --deep --sign - /Applications/SharpIDE.app
```

The README's steps are to download a fresh zip of the latest release, extract it, move SharpIDE.app into Applications, then run those two commands. If codesign is missing, the README says to install it with xcode-select --install. The expected result is that the quarantine attribute is removed and the app is ad-hoc signed, after which it launches. If you skip this, the failure is macOS refusing to open the bundle, not a SharpIDE bug.

Once it opens, the solution picker is the entry point shown in the README. Pick a .slnx or solution, and the editor loads it; the build, run and debug screenshots show what happens after that.

## NuGet and the test explorer are marked WIP, and that is the deciding constraint

Two README screenshots carry the WIP label: NuGet and Test Explorer. Everything else in the list, including build, run and debug, is presented without that qualifier. Read that as the project's own statement of where the edges are.

In practice this shapes the workflow you can expect. If your day starts by adding a package and ends by watching a test runner go green, SharpIDE is not yet the tool for that loop; you would be working around the two surfaces the maintainers have flagged as unfinished. If your day is mostly reading and changing C# in an existing solution, with the package graph already settled, the unqualified features are the ones you actually touch.

There is a second constraint that the README does not address at all: it does not document rollback, downgrade, or what happens to your settings when you move between releases. Releases are frequent and versioned in the v0.1.x line, with the most recent listed as v0.1.31 from 2026-07-26, preceded by v0.1.30 and v0.1.29 roughly a month apart. That cadence is a good sign for fixes and a poor sign for interface stability. Treat any configuration you build up as something to note down, because the repository gives you no migration story.

## How SharpIDE differs from SharpDevelop, MonoDevelop and a Photino Blazor shell

The related searches around this project name SharpDevelop, MonoDevelop and Photino Blazor, and the comparison is instructive because all four are attempts to give .NET developers an editor outside the mainstream one, with four different bets.

SharpDevelop and MonoDevelop are the older generation: native desktop toolkits, long histories, and in MonoDevelop's case a lineage that fed into a commercial IDE. Their architecture assumes a conventional widget toolkit and a large plugin surface. SharpIDE makes the opposite bet, putting the UI on Godot and the language intelligence on Roslyn, which buys one rendering path across platforms at the cost of owning more of the editor itself.

Photino Blazor is the closer comparison in spirit: a way to build a desktop shell from web technology. The difference is what sits underneath the window. A Photino Blazor shell tends to lean on web rendering and a browser engine, which makes text layout and styling familiar but ties the app to that stack. SharpIDE stays in C# end to end, with Godot doing the drawing. If you want to reason about the whole application in one language, that is the argument for SharpIDE. If you want to reuse web UI skills, it is the argument against.

## Licence and the cost of keeping up

The licence is MIT, and the repository carries LICENSE.txt at the root. MIT is permissive: you can use, modify and redistribute the code, including in closed products, provided the copyright notice and permission notice are preserved. That is the general shape of the licence, not legal advice, and if you plan to redistribute a modified build you should read LICENSE.txt yourself rather than rely on a summary.

One thing MIT does not settle is the licence of everything SharpIDE links against. Godot, Roslyn and the NuGet packages pinned in Directory.Packages.props each carry their own terms, and the README says nothing about them. If you are shipping a product built on this codebase, that is the audit to run, not the top-level licence file.

Upgrade cost is the other half. The project is not archived and the last push was on 2026-08-23, so work is ongoing. Releases arrive in a v0.1.x line, and the README offers no compatibility promise between them. The practical cost is re-verifying your workflow after each bump, especially around the WIP surfaces, and keeping an eye on global.json and Directory.Packages.props, since those files decide which SDK and package versions your build actually resolves.

## Conclusion

SharpIDE is worth adopting if you want a small, MIT-licensed .NET editor that already does completions, signature help, code actions, Razor highlighting, run and debug, and you are willing to file issues while NuGet and the test explorer stay WIP. It is not the right tool if your workflow depends on those two surfaces today, or if you need a signed macOS build, since the README's own FAQ walks through clearing the quarantine attribute and ad-hoc codesigning the app. Verify two things first: that a release asset exists for your platform, and that your debugging scenario works from the Run and Debug screenshots' feature set before you move a real solution into it.

## FAQ

### What is SharpIDE?

SharpIDE is a cross platform, open source IDE for .NET, written in C# and built on the Godot engine, with Roslyn providing the C# intelligence behind completions, signature help, symbol info and code actions. The README describes it as a WIP and asks users to raise an issue when they hit an error.

### Is SharpIDE free to use?

Yes. The repository is licensed under MIT and carries LICENSE.txt at the root, which permits use, modification and redistribution as long as the copyright and permission notices are kept. The licences of the dependencies it links against, such as Godot and Roslyn, are separate and are not covered by the README.

### Does SharpIDE run on Linux?

The README calls SharpIDE cross platform, and building the UI on Godot is what makes Windows, macOS and Linux possible from one codebase. The only platform specific procedure the README documents is for macOS Tahoe, where you clear the quarantine attribute and ad-hoc sign the app.

### Does SharpIDE work with .NET and C#?

Yes. The repository lists csharp and dotnet among its topics, and the README shows C# completions, signature help, symbol info, code actions and debugging. Razor files get their own syntax highlighting screenshot.

## Sources

- [License: MIT](https://github.com/MattParkerDev/SharpIDE/blob/main/LICENSE)
- [MattParkerDev/SharpIDE on GitHub](https://github.com/MattParkerDev/SharpIDE)
- [Project website](https://discord.gg/gfstTVqCXF)
- [README](https://github.com/MattParkerDev/SharpIDE/blob/main/README.md)
- [Releases](https://github.com/MattParkerDev/SharpIDE/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/mattparkerdev-sharpide
