The #develop teamblog
 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.

Categories: Daniel
Friday, August 10, 2007 7:55:23 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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.

Categories: Chris
Thursday, August 09, 2007 7:02:24 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]

 



 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.

Categories: Chris
Wednesday, August 08, 2007 2:59:50 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 



 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.

Categories: Daniel
Sunday, June 24, 2007 4:23:00 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]

 



 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]

 



© 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.