The #develop teamblog
 Wednesday, June 13, 2007

The current episode of .NET Rocks! has me talking about SharpDevelop, its history, the challenges, its goals and where we are headed. I wrote about the show in my personal blog too, so please check there for more information.

Categories: Chris
Wednesday, June 13, 2007 11:40:57 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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.

Categories: Chris
Thursday, May 24, 2007 8:56:35 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 

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.

Categories: Chris
Thursday, May 24, 2007 10:21:45 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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

Categories: Daniel
Monday, May 14, 2007 3:38:49 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]

 



 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])

Categories: Chris
Monday, April 02, 2007 1:27:55 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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!

SharpDevelop Reports - The Open Source .NET Reporting Solution

Categories: Chris
Wednesday, March 07, 2007 11:06:11 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]

 



 Friday, February 09, 2007
Categories: Chris
Friday, February 09, 2007 9:31:49 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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.

Categories: Chris
Saturday, December 23, 2006 11:09:59 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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:

  1. 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).
  2. 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
  3. 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.

Categories: Chris
Friday, December 01, 2006 6:44:37 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



© Copyright 2008 SharpDevelop Core Team

Subscribe to this weblog's RSS feed with SharpReader, Radio Userland, NewsGator or any other aggregator listening on port 5335 by clicking this button.   RSS 2.0|Atom 1.0  Send mail to the author(s)

 

Copyright ©2000-2007 IC#Code. All rights reserved. Projects sponsored by AlphaSierraPapa.