is a free and
Open Source IDE for the
C# ,
Visual Basic .NET (VB.NET) and
Boo Programming Language s.
It is typically used by those who prefer not to use
Microsoft 's
Visual Studio .NET . There is a port to
Mono /
Gtk# called
MonoDevelop which runs on other operating systems.
For
Code Completion SharpDevelop uses its own parsers for C# and VB.NET. They were generated using a grammar description and a modified version of the
Coco/R compiler generator of the University of Linz. The source code contains this generator.
For
Boo , the parser from the Boo compiler is used, but resolving the type of expressions and type inference is done with custom code that supports lazy evaluation of the types.
SharpDevelop 1.1 can import projects written with Visual Studio, SharpDevelop 2.0 can open and edit them directly. It also can translate whole projects from VB.NET to C# and vice-versa.
SharpDevelop 2.0 has an integrated debugger. It uses its own debugging library that talks to the Microsoft .NET runtime using COM interop.
While SharpDevelop 2.0 uses the same
MSBuild project files as Visual Studio, it is still able to use other .NET compilers such as older framework versions (1.0, 1.1) or the Mono compiler.
- A Windows Forms designer for C#, VB.NET and Boo
- Code completion for C#, VB.NET and Boo (including Ctrl+Space support)
- Integrated debugger
- Declaration tooltips, debugger tooltips
- "Go to definition", "Find references", "Rename"-refactoring
- Function folding
- Code AutoInsert
- A C#↔VB.NET->Boo converter
- Completely written in C#
- Compile C#, VB.NET, Boo in the IDE out-of-the-box
- ILAsm and C++ backends
- Integrated NUnit and MbUnit support
- Assembly Analyzer (" FxCop on steroids")
- XML documentation preview
- Everything templated: add new project or file types, or even compilers to SharpDevelop
- Write C#, ASP.NET , ADO.NET , XML, HTML code
- Rich project options
- Syntax Highlighting for C#, HTML, ASP, ASP.NET, VBScript , VB.NET, XML
- Intelligent Brace s
- Bookmarking
- Code template support
- Easily extensible with external tools
- Easily extensible with Addin s
A list of available addins can be found in the
SharpDevelop wiki