|  |
 |  |  |  |
 |
Thursday, May 24, 2007 |
Another new addition to our Web offerings: the online code formatter. It is based on the syntax highlighter of SharpDevelop's text editor, and thus supports quite a few formats out of the box: SP/XHTML, BAT, Boo, Coco, C++.NET, C#, HTML, Java, JavaScript, Patch, PHP, TeX, VBNET, XML. In addition the Web form, I also added a Web service that can be used in your application to perform code conversion, a sample is available.
Noteworthy: the Web offerings are built upon the sample you can find in the source download (revisions 2522 upwards) - \Samples\HtmlSyntaxColorizer.
Our online code converter has been extended with the SnippetParser that Daniel wrote about on this blog. Now you can convert entire classes, or just code snippets. Please note that snippet conversion is only available for C# and VB.NET.
 |
Monday, May 14, 2007 |
Yesterday, I added a snippet parser to NRefactory. It tries to parse the input code as a compilation unit (full file containing class definitions), class body (=list of methods, properties, ...), statement list and expression. The result that produces the least number of syntax errors gets chosen.
This is useful for our online code converter, because often one wants to convert a simple code snippet and not a full file.
Here is the example code that converts the string "input" from C# to VB.NET:
SnippetParser parser = new SnippetParser(SupportedLanguage.CSharp); INode node = parser.Parse(input); // parser.Errors.ErrorOutput contains syntax errors, if any // parser.Specials is the list of comments, preprocessor directives etc. PreprocessingDirective.CSharpToVB(parser.Specials); // Convert C# constructs to VB.NET: node.AcceptVisitor(new CSharpConstructsVisitor(), null); node.AcceptVisitor(new ToVBNetConvertVisitor(), null); VBNetOutputVisitor output = new VBNetOutputVisitor(); using (SpecialNodesInserter.Install(parser.Specials, output)) { node.AcceptVisitor(output, null); } // output.Errors.ErrorOutput contains conversion errors, if any // output.Text contains the converted code
 |
Monday, April 02, 2007 |
Last weekend, we held a #develop developer days (#d^3) meeting in Karlsruhe. There were five us that managed to free up the Easter schedule: Daniel (lead developer SharpDevelop), Dickon (data tools SharpDevelop), Peter (lead developer SharpDevelop Reports), Alex (PM SharpDevelop Reports) and myself (PM SharpDevelop). As you can guess, our focus was on data(base) support inside SharpDevelop.
Dickon gave us a tour of the database tools as they exist today - to get everyone on the same page as to where we stand (code-wise) and where Dickon wants to take the feature:

That of course ended in a whiteboarding session by Dickon (left), Daniel (right) and me:

The lowdown: a name change, restructuring and the decision to drop the current implementation of the db tools from the 2.x branch. After all, we have a couple of consumers (like SharpDevelop Reports) for the data tools in 3.0.
Daniel presented two things - first, the state of affairs with regards to our XAML designer:

This presentation then commenced with LINQ features already present in SharpDevelop 3.0 "Montferrer" today:

Peter & Daniel spent a considerable amount of time ripping out the load / save engine from SharpDevelop Reports, replacing it with a much cleaner and faster one - that, however, means that existing files (v2.1) are no longer compatible with the next version (v2.2 due in June).
Otherwise of note is that all five of us were using Windows Vista on their laptops (I suppose MS would rejoice if the majority of the user base would be that keen to work on Vista!), and that as always we visited a couple of nice restaurants (Brauhaus Moninger and Kanya's [sites in German])
 |
Wednesday, March 07, 2007 |
After 13 months in development, we are proud to release v2.1 (detailed announcement). This release contains a lot of features we consider essential for writing quality code, such as code analysis. A list of what's new was compiled by Matt, who is also maintaining our feature tour.
Stepping out of SharpDevelop's shadow is SharpDevelop Reports, which is the reporting solution formerly known as SharpReport. A lot of feature work lies ahead (roadmap details), so look forward to a full-featured open source .NET reporting solution!

 |
Friday, February 09, 2007 |
 |
Saturday, December 23, 2006 |
More information here. The release was originally scheduled for a week earlier, however, bug fixing took us a little longer so we decided to slip.
 |
Friday, December 01, 2006 |
Our build automation system has changed: up until yesterday, we were using CruiseControl.NET to kick off an NAnt script to run our daily build. Now we are using MSBuild end-to-end in our build system, with a much cleaner architecture than before:
- CruiseControl.NET kicks off the build by checking out the latest changes. The build is triggered either based on time (for the daily builds) or on check in (continuous integration).
- After check out, CruiseControl.NET hands over to KickStart.proj, which we wrote and placed in the root of our CC.NET installation. This MSBuild script sets a couple of properties, and then delegates further work to
- Automated.proj. This MSBuild script is part of the checked out project that is to be built. It does all the heavy lifting, like build, unit tests or setup creation.
The obvious advantage of this setup: the build server doesn't know a thing about what the project needs (tools, libraries, you name it) to be built properly. Thus we are now doing our daily SharpDevelop builds, our CI SharpDevelop builds as well as SharpReport daily builds using one standardised setup. It took us a while to get into gear (old habits die hard, and why change a running system), but it is now fully operational.
Bootnote You can find all of our scripts in the repository. However, you need to check out trunk/SharpDevelopBuildServer instead of trunk/SharpDevelop.
 |
Wednesday, November 22, 2006 |
Yesterday, we set up an anonymous Subversion mirror for the SharpDevelop repository. Instructions on how to use it can be found here:
http://wiki.sharpdevelop.net/default.aspx/SharpDevelop.UsingTheRepository
It replicates from the development repository every six hours starting at 3:15AM CET. Please note that we might remove anonymous access to the development repository in the future, so please switch over to the new mirror.
© Copyright 2008 SharpDevelop Core Team
| 
|  | |