|  |
 |  |  |  |
 |
Sunday, August 26, 2007 |
Today I retired the initial Wiki (which only remained online for the book errata; we are now actually at Wiki #3), as well as the initial forum. Both resources [/heyhey/wiki/ and /opensource/sd/forums/] were available read-only anyways. The old URLs now redirect to our new and active installations.
The main reason for the complete removal is security. Both were old, unmaintained ASP solutions.
 |
Friday, August 10, 2007 |
When you double-click a file in SharpDevelop 2.x, it will get opened inside SharpDevelop. AddIns can add display bindings opening for opening file types (e.g. ResourceEditor for .resx files), but this has the effect of disabling the other display bindings for that file type - In SharpDevelop 2.x, you cannot open a .resx file inside the text editor (except if you disable the ResourceEditor AddIn).
In SharpDevelop 3.0, you can now right-click a file in the project browser and select "Open With...". A dialog will show the list of display bindings that can handle the file type. There also is the entry "Use the default Windows application for this file" which will open the file as if you double-clicked it in Windows Explorer.
You can add new programs to the "Open With" list. SharpDevelop will store the list programs for each file extension in the SharpDevelop settings.
Here is a screenshot of the "Open With"/"Add program" dialog:

A very useful feature of the "Open With" dialog is the "Set as Default" button. This will mark an entry as the default program for opening files with the same extension in SharpDevelop. Double-clicks in the project browser will run the chosen default program. ("Set as Default" does not have any effect on double-clicks in Windows Explorer)
For example, SharpDevelop does not have a built-in image viewer/editor, so if you don't want the text editor, which is the fall-back for unknown file types, to open images, you can "Open With" a .png file in your project, enter your favorite image editor and set it as default program for .png.
 |
Thursday, August 09, 2007 |
A small but highly visible bug went unnoticed for the official 2.2.1 release: When creating a new project, ${USER} ${DATE} in the standard header etc. was not replaced with values. Thus we decided to release an 2.2.1a version that contains a fix for this templates-related issue.
 |
Wednesday, August 08, 2007 |
Today, we released SharpDevelop 2.2.1. This is a bug fix release with two updated external software packages: NUnit 2.4.2 and SharpDevelop Reports 2.2.0.235. It is recommend that you upgrade to this point release.
 |
Sunday, June 24, 2007 |
In revision 2583, I added the XamlBinding and WPF Designer to the setup of SharpDevelop 3.0.
XamlBinding is a language binding that integrates .xaml files into SharpDevelop's code-completion infrastructure. Here is an example of SharpDevelop showing a tool tip for a property in a .xaml file:

A window in .xaml is a partial class: one part is generated from the .xaml file, the other is the user code. If the xaml file specifies a name for an element, the compiler will generate a field that can be used by the user code. XamlBinding adds code-completion support for such fields:

As you can see in the "Search Results" window, "Find references" now searches for references in .xaml files. The "rename" refactoring will update both the XAML and C# code.
Finally, the WPF designer that I wrote earlier this year is now integrated in SharpDevelop. Here is a screen shot:

The designer replaces SharpDevelop's property grid with its own, WPF-based property grid. This property grid will provide support for editing attached properties and data binding in the future.
Unlike the Windows Forms designer, which is included in the .NET Framework and merely hosted by SharpDevelop (which isn't as easy as it sounds); the WPF designer is written from scratch. Thankfully WPF makes this a lot easier than writing a Windows Forms designer from scratch would be.
The WPF designer is still missing lots of features; I would welcome any help.
You can download preview builds of SharpDevelop 3.0 from our build server.
 |
Wednesday, June 13, 2007 |
 |
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
© Copyright 2008 SharpDevelop Core Team
| 
|  | |