#develop (short for SharpDevelop) is a free IDE for C#, VB.NET and Boo projects on Microsoft's .NET platform.

Journal Entries

Avatar

In SharpDevelop, you can now delete all breakpoints in a file or all breakpoints in the solution via the breakpoint pad. zippy1981 — over 2 years ago

Avatar

Check out the new UnHandled Exception form in the SharpDevelop Debugger. Grab build 3243 or later from SVN to check it out. zippy1981 — over 2 years ago

Avatar

The SharpDevelop text editor tabs now have a "Open Folder in Explorer" option. The right click menu for projects in the project pad has an option to open the output target directory in explorer. zippy1981 — over 2 years ago

Avatar

I improved the SharpDevelop unhandled message dialog. However, I was unable to get it to the the Aga control I intended. DavidSrbecky said he would try to look at it. zippy1981 — over 2 years ago

See All Journal Entries


Ratings & Reviews

Community Rating
4.3/5.0

Based on 45 user ratings.

Your Rating

Click to rate this project.

over 3 years ago Avatar
SharpDevelop is amazing opensource software,

  by Cory

SharpDevelop is an great alternative to Visual Studio if you don't have the money to put down for a full version. Also being open source just adds upon that.

Not only is it free but you can view/change/learn from the source.

3 of 3 users found the following review helpful. Was this review helpful to you? |

about 1 month ago Avatar
SharpDevelop

  by justin78

this is the best thing that I saw

Was this review helpful to you? |

Links

0 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    Source Code Repository Migrated to GitHub

    Last Saturday, we migrated our self-hosted Subversion repository to git and started using github for hosting.

    As part of this change, the SharpDevelop repository was split up in three parts:

    SharpDevelop - main ... [More] repository
    SharpDevelop-Servers - build server configuration, server-side code for UDC, etc.
    SharpDevelop-Vendor - what used to be the vendor branches in SVN: source code archives of libraries which SharpDevelop uses in binary form

    The SharpZipLib repository was migrated as well.

    You only need the main repository to compile and extend the SharpDevelop code.

    As part of this change, I also added a simple Git AddIn to SharpDevelop 4.0. It allows invoking the TortoiseGit commit dialog from the SharpDevelop project browser.

    With the move from Subversion to git, we also had to change the way we handle version numbers. Git allows distributed development and encourages branching, so it impossible to assign a simple increasing number to commits.

    So instead, we now calculate revision numbers based on the history: we count the number of commits between a known starting point and the current version. At least for the builds produced by our build server, this gives the illusion of an increasing revision number. Moreover, anyone checking out the same commit from git will calculate the same revision number. However, the numbers are not unique for builds created on different branches.

    The counting is done using: git rev-list 6eceaaafce5ed9b45d19a1645b1b012675aac996..HEAD | wc -l (the hash is the known starting commit)

    In fact, the numbers are now counting independently on each branch, synchronizing only when branches are merged into each other. For this reason, SharpDevelop now stores additional information about the commit it was built from:

    Version number
    Branch name (for feature branches)
    Short commit hash

    The same information is shown in the version info inside crash reports. Note that the branch name is included only for feature branches - the "master" branch and branches starting with a digit are considered version branches and will not be shown. The feature branch name will also be shown on the SharpDevelop splash screen.

    For the purpose of looking up "which build corresponds to this commit" (or vice versa), we made our build server push this information into the git repository. For example, if you take a look at the commit b6f4ade7, you will see a "git note" at the end of the github page which says "Build 4.0.0.6500 on master successful". [Less]

    WPF and Silverlight Templates for IronPython and IronRuby

    SharpDevelop 4.0 now includes templates to create WPF and
    Silverlight applications for IronRuby and IronPython.

    The WPF template will create a basic WPF application that loads
    its main window from disk by using

    ... [More] XamlReader.Load and then displays it.

    The Silverlight template will create a basic Silverlight project
    with an IronPython or IronRuby script file and a web page. The web
    page (index.html) will open up the IronPython or IronRuby console
    in the browser and run the script. The script file does not do much
    apart from change the text in the browser.

    On running the Silverlight project SharpDevelop will launch
    Chiron and allow you to browse to the project's web page.
    Chiron is an application that can be used as a personal web server
    to host your silverlight application. It can also be used to
    package up your Silverlight application ready for deployment.

    All the existing IronPython project templates have also changed.
    When a new IronPython project is run, by selecting the menu item
    Debug | Run, it will now run the IronPython console
    (ipy.exe) instead of starting the project's executable. This
    change makes IronPython projects consistent with IronRuby projects.
    It also means you can debug a new IronPython application straight
    away without having to change the project options.

    To switch back to the previous behaviour, and launch the
    project's executable instead of ipy.exe, change the Start
    Action in the project options to Start project. Note
    that debugging the project's executable is not supported.

    The screenshot below shows the project options for a new
    IronPython project.

    For more information on writing Silverlight applications in
    IronPython and IronRuby see the following web sites.

    http://ironpython.net/ironpython/browser/

    http://ironruby.net/Browser

      [Less]

    New productivity features in Beta 2

    As we are releasing Beta2 today, here is an overview of new features you can already take advantage of:

     

    1. Context actions

    These are useful actions in the code editor which SharpDevelop offers based on ... [More] context.

    Let's say I want my class to implement an interface. A pencil icon appears telling me that there is some action available:

    Let's click the pencil icon, or simply press Ctrl+T:

    Let's just click it or press Enter:

    And we get the expected result.

    Another example of context action is introduce new method. When I type a name of unknown method:

    Context action is offered (press Ctrl+T):

    Selecting it again produces the expected result:

    These features were previously available in editor context menu. They are being moved from context menu to context popup. The reason is that it is much faster to access them this way.

    The Context Actions offered in the popup are extensible, so you can write addins to add your own. I wil write a blogpost about this.

     

    2. Menu restructuring and shorcuts

    The context menus in code editor had unnecessary submenus. They now look like this:

    The actions for the clicked symbol are on the top level. Also many items got keyboard shortcuts (these shortcuts are still subject to change), so that you can trigger e.g. Find References by one key press. Other useful new shortuts are F5 to Run/Continue debugging and Shift+F5 to End debugging.

    Now, Let's see what the new item "Find overrides" in the menu does:

    3. Find overrides

    Many times, you have code working with interfaces. The IInvestor in the previous screenshot might have only 1 or 2 implementations and you know which one is going to be returned from Service.GetInvestor(). If you want to see the implementation of the DecideWhatToBuy method, just press F6 for Find overrides.

    That's it, just press Enter. Note that before this feature it was quite annoying as Go to definition would just take you to the empty definition of the method in the interface.

    4. New code completion

    I already blogged about this, check out this blog post.

    5. Highlight symbol

    I already blogged about this, check out this blog post. [Less]

    News in SharpDevelop Reports

    As you can read in another blog post, Philipp Maihart wrote the new Data addin for SharpDevelop 4.0. Using this addin, I can remove the very old SharpQuery addin. Result: we have no ComInterop reference anymore. Currently only SQLServer is supported ... [More] , but you are invited to write providers for other databases (template in the blog of Philipp).

    Features I am working on at the moment:

    Started

    Adjust Designer to create Grouped Reports
    Grouping
    Better formatting of expression results.

    Pending

    Filtering [Less]

    VB .NET - New features

    In my first post on VB .NET I presented what features I wanted to implement for VB .NET. Now it is time to sum up, what I managed to achieve. In this post I will keep text short, but add a lot of screenshots.

    1. Context sensitive code ... [More] completion

    The code completion list will now pop up as soon as you start typing a word. It will not pop up, if you want to enter a new identifier. That is after: Dim, Public, Private, Protected, Friend, Partial, Const, Class, Function, Sub, ... and so on.

    2. Hidden feature: Question mark

    A hidden feature implemented in SharpDevelop 2 is "As ?". Basically it works like this:

    Enter a new local variable and instead of the type use ?. If you use an initializer, SharpDevelop will automatically resolve the type after pressing <Enter>:

    To make this feature more visible, I've added a special item in code completion:

    3. Type Inference

    SharpDevelop will now respect project options and option statements on the file level. If you set Infer On (this is the default for new projects), SharpDevelop will try to infer the type of a variable:

    If you disable Type Inference, SharpDevelop will resolve the type to Object:

    4. Highlighting of current parameter in code completion tooltips

    This is a very new feature and not very well tested so far. It basically highlights the currently entered parameter in the tooltip:

    Known bugs / incomplete features

    Please note that there are some things that don't work properly right now:

    Block highlighting only works backwards, e. g. in End If/End Sub
    No XML code completion
    Indentation does not work with XML literals
    End-Tag insertion does not respect automatic properties

    I will try to implement some of these before the end of GSoC, but I cannot promise anything.

    Please try out the new features and report bugs. [Less]

Read all SharpDevelop articles…

Download Page
506 downloads

Who uses SharpDevelop?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to SharpDevelop?

Avatar Avatar Avatar Avatar Avatar Avatar Anon32 Anon32

Who manages SharpDevelop?

I'm a manager

Where in the world?



Related Projects by Tags

Boo Programming Language, BooDoo, DrC#, MOSA Project, Piorun


People who use SharpDevelop also use:

NDoc FluentDot The Tao Framework Cecil


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 939,520
Effort (est.) 257 Person Years
Avg. Salary $ year
$ 14,113,019