SharpDevelop Community

Get your problems solved!
Welcome to SharpDevelop Community Sign in | Join | Help
in Search

Christoph Wille

  • Translators Wanted!

    With the new translation portal launched, we are now actively looking for additional translators to existing languages (to start with). We have the following languages in the system currently:

    The figure to the right is the # of missing translations - the total number of resource strings is a tad over 5000 for SharpDevelop, so you can see that these languages are all at least half-done.

    If you want to volunteer your free time to making SharpDevelop fully translated in your language, please send me an email at christoph.wille @ gmail.com (remove the spaces around the @ sign) with your language of choice. Thank you for making SharpDevelop a global IDE!

  • Resource-First Translations Web Application Launched

    We have added a new open-source project to our portfolio - the Resource-First Translations (RFT) application, which provides translators of SharpDevelop with a modern and fast experience for helping us by translating SharpDevelop into a language they speak.

    This new application has a couple of goals (taken from the RFT GH readme):

    • Code-First Developers live in the IDE and work directly with resource files. Source control is the source of truth for resources.
    • Multi-Branch Translations come and go with features being added, modified or removed. Translators should never duplicate work.
    • Multi-File Complex software doesn't ship with a single resource file only. Slice your application into modules and still get the benefits of translating only once.
    • Sync Automatically get the latest resource file checkins to the translators, and the finished translations to the developers or the build servers.

    Developers work in the environment they are used to - including branching and merging - and translators get a great effortless experience for translating as well as testing translations. If you want to see that for yourself, either

    The demo installation is actually quite interesting as it runs on Azure Websites (SQL Azure, with Web Jobs and SendGrid for email), whereas in contrast our production installation for SharpDevelop runs on a dedicated box at a hosting facility (SQL Server 2012, with standard scheduled tasks and standard SMTP).

    If you like what you see, feel free to grab a copy and use it for your own purposes! All you basically need is ASP.NET and a SQL Server database to get going. As for grabbing the translated resource files in a real-world project, check out the ResGet integration in SharpDevelop (we don't do build integration).

    Bootnote: we talked about replacing the old ASP-based application for way too long (a solution I'd never open source simply for being way too ashamed of the code quality). But at least it provided us with a list of things we must have to have a great experience going forward.

  • Building SharpDevelop 5

    In order to publically surface a change in the build process of SharpDevelop 5, I'd like to point to a thread from April 19th on the sd-coding mailing list entitled Microsoft Build Tools 2013. (This new dependency is also documented in the section Extended Requirements (building #Develop) on our GH page)

    To quote Daniel: "There is also a bit of a bootstrapping problem with this commit: to compile SharpDevelop with SharpDevelop, you need a SharpDevelop version that already includes this change (version 5.0.0.4287 or higher). So you will have to compile SharpDevelop with the .bat files once and install that version. (or alternatively, grab a new installer from the build server when that's up)"

  • SharpDevelop Reporting on NuGet

    In an effort to make the (standalone) components of SharpDevelop more discoverable, we created a NuGet package for our Reporting solution. It is available as a pre-relase package, thus you need the -pre switch in the console or ensure that you aren't looking at stable packages only in the Manage Packages dialog.

    Additionally, we have split out the Reporting samples into a repository of their own (previously part of the SharpDevelop source code download), where they live side-by-side with the nuspec for SharpDevelop Reporting. The Wiki is currently a direct port of the previous sharpdevelopreports.net site (which now redirects to the Wiki on GH), and not yet fully adapted to the new SharpDevelop 5 screens and usage instructions.

    We hope that this will make using our Reporting solution both easier and more enjoyable.

  • SD-Coding: The Place for Developers

    Up until today, we only had an “internal” mailing list for developers with JCAs on file. Mostly for the reason so everyone knows that when code comes from members of this list, it is safe to be incorporated into the codebase. (release coordination another hot item)

    However, we no longer require JCAs for SharpDevelop 5 and beyond (license change info). We mulled the options of opening up the existing list, or creating a new one. Because the existing members might not want to see the extra traffic, we decided that it would be better to invite everyone – existing contributors as well as new and prospective ones – to join on their terms.

    The sign up for the mailing list can be found at this URL:

    https://lists.sourceforge.net/lists/listinfo/sharpdevelop-coding

    What do we expect to see as topics? For one, we think it is extraordinarily important to have a platform to discuss ideas: be it to see if this is something that is generally considered a good idea, whether it has been discussed before, or if someone is already working on it (duplication of work can be avoided). Alas, if you are working on bug fixes or new features, and have questions about the architecture, the testing philosophy and about anything on the internal design, this is the place to go.

  • What's New in SD5: Automatic Variable Naming

    In the blog post Context Actions I showed how to refactor existing code into a new method, and how Link Mode allows you to rename it. But there was a slight problem which this code exhibited at that time:

    Had I refactored "(j % 5)" into a new local variable (via Declare local variable), it would have named it "i". You got yourselves a name collision (same with NewMethod if you performed Extract Method twice before renaming the first instance).

    The new behavior is as follows - you choose to Declare local variable:

    SharpDevelop will look in the scope to see if there is already a variable "i" and append the next free number to it:

    Because Link Mode is now enabled, you can immediately start typing and rename the variable to your liking:

    As usual, you can grab the latest bits from our build server.

    Posted Feb 09 2014, 09:54 AM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Suppressing Issues

    I have introduced you to code issues / inspections already, today we are going to talk about "silencing" issues that are either false positives or intentional. Coming in Beta 2 you will be able to turn off an inspection once or entirely. Let's look at an example:

    Calling a virtual member in a constructor isn't good practice, that's why the inspection tells you that you have a problem here. But what if that is intentional, and you don't want somebody else to inadvertently "fix" this when they get the flag too? Well, you can turn it off:

    This will insert a comment of format "// disable once {name of code issue}" above the method call:

    And as you can see, the squiggly lines are gone and SharpDevelop no longer compains about you calling a virtual method.

    Posted Feb 09 2014, 09:40 AM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Jump to Documentation in Tooltips

    The previous post What's New in SD5: Richtext XML DocumentationTooltips talked about the new, rich, documentation tooltips. As of today, the link target functionality is available in SharpDevelop 5, via Tools / Options / Text Editor / Code Completion:

    It will default to Help for Framework classes, with a fallback to Definition for everything else.

     

    Posted Feb 08 2014, 06:02 PM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Paste from Clipboard Ring

    The Clipboard Ring is an old friend that is in SharpDevelop since ancient days. You usually access it via the Tools pad:

    What is new in SharpDevelop 5 (again, Beta 2) is that you got a Paste command for it: Ctrl+Shift+V. This opens the Paste UI right where you are in your code, no need to use the Tools pad or take your hands off the keyboard:

    Posted Feb 08 2014, 05:07 PM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Completion in Watch & Console Pad + Breakpoint Window

    Another upcoming Beta 2 feature is what we internally called 'dot completion' for the watch and console pad, as well as the new breakpoint options dialog. Simply type an expression, hit . and the completion will kick in:

    Same goes for the breakpoint options:

    And yes, you do get the tooltip for the selected item:

    Posted Feb 06 2014, 04:42 PM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Breakpoint Options Popup

    Today, I am going to show off another post-Beta 1 feature that comes in handy when you are debugging your applications: the breakpoint options popup. How to find it? Well, you first need a breakpoint:

    Next, hover over the breakpoint in the margin (don't overreact and right-click...):

    As you can see, the default is that it breaks every time, and that it is enabled. Click on Conditional and enter the expression that you want to break you into the debugger - in my case, I want to break into the debugger when the loop variable i is 5:

    Note that the breakpoint icon in the margin has changed:

    Hit F5 to start debugging, and voila, the breakpoint is hit when i is 5:

    Posted Feb 04 2014, 06:44 PM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Link Mode

    In the blog post on Context Actions I showed how to use the Extract Method context action. The last step - renaming the NewMethod - was a stopgap measure because Link Mode didn't exist in Beta 1 yet. But it is available in the current builds on the build server.

    So what is Link Mode? It obviously links two things: in the case of Extract Method, it is the method declaration and the call. This translates into the method declaration being highlighted, and the moment you type, the method declaration and the call are updated with your naming changes to the method.

    To give you an idea of this in action, have a look at this really short screen recording (no sound):

    CreateLinkSample.mp4

    Posted Feb 02 2014, 06:28 PM by ChristophWille with no comments
    Filed under:
  • What's New in SD5: Background Syntax Check

    A good example of a syntax error is a missing semicolon. Of course, the build process would flag this error - but SharpDevelop 5 will catch this during typing:

    Please note that in Beta 1, there is a off-by one error that is fixed in newer builds on the build server.

  • What's New in SD5: Richtext XML DocumentationTooltips

    The best way to get started is to look at a screenshot:

    Please note that tooltips are no longer plain text but are rich-text formatted including clickable links for <see cref="..."> elements. Those links today take you to the definition of the respective element. But for framework assemblies (for which XML docs are locally installed), we consider changing that to XmlDoc: Links should open MSDN documentation or go to definition. Let us know in the comments to this blog post if you think that this is not a good idea, and why instead you'd like to go to the decompiled source.

     

  • What's New in SD5: Enhanced Scrollbar

    This one is a visual enhancement - compiler errors, breakpoints, and 'code issues' are displayed in the editor's scroll bar:

    Please note that the entire length of the scrollbar is used to display the relative positions of the respective elements. For example, in this screenshot I hovered with the mouse over the inspection (blue triangle) to see the information, clicking will take you to the position in the source file. The enhanced scrollbar also displays the position of the compiler error (red triangle) as well as the breakpoint (red circle)

    Posted Jan 28 2014, 06:05 PM by ChristophWille with no comments
    Filed under:
More Posts Next page »
Powered by Community Server (Commercial Edition), by Telligent Systems
Don't contact us via this (fleischfalle@alphasierrapapa.com) email address.