Update to Cecil 0.6. Fixed some bugs. C# parser: include position information for statements/expressions. Fixed forum-19066: Invalid params for External Tools. Changed some instances of "combine" to "solution". Reapply our patches to the DockPanel Suite. Update to DockPanel Suite v2.1. Fixed crash when closing the solution while building. Show build progress in status bar. Some fixes suggested by FxCop. Fixed using the "Suppress message" command on constructors. Add a .targets file to the build that gets automatically included when the C# 2.0 or VB 8 compiler is used. This .targets file will display warnings when the project uses MSBuild 3.5 features. Fixed Project > Check with FxCop. Fixed deleting directories when "Use recycle bin" option was activated. Fixed bug introduced in revision 2688 that could cause non-partial classes to become a CompoundClass with two identical parts when the file is edited. This caused symptoms like seeing fields and properties twice in the code completion drop-down, seeing method overloads twice; and indirectly caused several problems with the Rename refactoring. Fixed build. Embedded SharpDevelop.exe.manifest in SharpDevelop.exe. Support embedding the .manifest in the .exe. Build engine: reduce the number of events build workers sent to the host process Add ICSharpCode.SharpDevelop.BuildWorker.exe to setup. Rewritten build system. Separated solution build logic (BuildEngine) from project build logic (MSBuildEngine). New features: - Supports non-MSBuild projects. - Setting different properties for each project in a solution. - Build can run in a worker process - Builds multiple projects in parallel Fixed exception when deleting a file that had multiple view contents open in the same WorkbenchWindow (e.g. Source view+Designer view, or Source view+Subversion History). Fixed build again. Fixed SD2-1378: Bookmarks behave incorrectly when removing text Implemented SD2-1371: Use recycle bin to delete files. Fixed bug introduced in last revision that caused the unit tests to fail. When there are duplicate classes, treat both parts as implicitly partial. Fixes SD2-1217: Duplicate class name support in ProjectContent. SdStatusBar.BeginTask: reset WorkDone to 0. Applied patch by Ray Gilbert: CodeDomOutputVisitor now supports more language constructs. (see http://www.codeproject.com/csharp/codedom_assistant.asp) Add sample project for text anchors. Fixed removing lines in the text editor. Add TextAnchor to text editor. Usage: TextAnchor anchor = document.GetLineSegment(lineNumber).CreateAnchor(columnNumber); anchor.LineNumber and anchor.ColumnNumber are updated when text is inserted/removed in the document. anchor.IsDeleted will be true when the text location containing the anchor was removed. LineSegment gets an IsDeleted property, so a LineSegment reference can be used as anchor for a line. Fixed forum-15062: TextEditor changes encoding of UTF-16 files to UTF-8. TextView.VirtualTop: X was a column number, Y a pixel position. Now both are pixel positions. CSharpOutputVisitor: use System.Runtime.InteropServices.DefaultParameterValueAttribute when converting VB optional parameters. Fixed forum-18069: Text selection lags mouse depending on font TextEditor now provides TextChanged event so users do not have to attach to textEditor.Document.DocumentChanged. Improved the heuristic that determines which comments belong to a class for the "Move class to file" command. Prevent SharpDevelop from crashing if code-completion cache is corrupted. Merged CSharpCodeCompletion sample enhancements from /branches/2.1 to trunk. Fixed forum-18847: selections do not work correctly when selecting from invalid lines to valid lines. When code converter crashes, report the file that it was processing during the crash. Fixed SD2-1377: Exception adding reference to Compact Framework application. C# code completion: Members of anonymous types are properties, not fields. RunProject command: compile project before running it. C# syntax highlighting: add contextual keywords introduced in C# 3.0. C# parser: support "from T x in e" syntax in query expressions. NRefactory: Support parsing statements like "SomeDelegate d = GenericMethod<string>;" Renamed FieldReferenceExpression to MemberReferenceExpression. Fixed NullableBoolEditor: the editor must be able to show the difference between the null value and an ambiguous value (multiple selected components with different values). Add more controls to toolbox, support editing properties of type "Cursor" and "bool?". Support creating event handlers by double-clicking buttons in the WPF designer. Worked on event support in WPF designer. Fixed C# parser bug regarding expressions like "(T)-val". SideTab updates Various bug fixes. Make Properties class thread-safe. (probably fixes forum-18390). Fixed forum-18448: crash when editing XML file containing a reference to a non-existing DTD. Improved C# code completion (typing constraints on generic classes). Fixed build. Allow unit testing of view contents by decoupling OpenedFile from FileService and Workbench. Fixed SD2-953: Code error is thrown runing a WinForm with the form .resx file opened The forms designer now uses OpenedFile (SD2-1234) to allow sharing unsaved resource files between resource editor and forms designer. Fixed forum-18481: Problem with Boo Forms Designer when using TableLayoutPanel Fixed forum-18391 and forum-18392 (pretty printer bugs). VBNetOutputVisitor: Don't output "ByVal" by default. Worked on VB<->C# converter. Fixed SD2-980: VB 'For Each' statement not converted correcly to C# Text editor: Use TextLocation struct instead of System.Drawing.Point to represent line/column pairs. SHFB (Sandcastle Help File Builder, http://codeplex.com/SHFB) version 1.5.0.1 (for Sandcastle June 2007 CTP) added, NDoc removed Worked on VB->C# converter. More improvements for the C#->VB converter. Improved C#->VB converter. Worked on C# -> VB converter. Fixed SD2-1022: Delegates usage not converted correctly from C# to VB. Fixed SD2-803: Implicit interface implementations are not converted correctly to VB Fixed SD2-1028: local variables should be always initialized when converting code from VB to C#. Fixed SD2-1069: Conversion of VB ReDim statement to C# not implemented. Move Search&Replace into an AddIn. Fixed forum-18320: exception when converting VB code using named arguments to Boo. Add ShellExecuteDisplayBinding: allows to launch files using the default program associated with them in SharpDevelop's "Open With" menu. Implemented SD2-1054: Opening a file with different editor Worked on SD2-1054: Opening a file with different editor Still missing: "Set as default" Property pad now works correctly with the Windows Forms designer. Merged SD 2.2 revision 2624:2639 to trunk. Set correct caret column when pressing return. Fixed SD2-1298: Converting single assignment and comparison statement from C# to VB.NET Fixed nunit.framework detection (fixes build) Fixed SD2-1355: FormattingStrategy: meaning of IndentLine, FormatLine return value Add "RequiredTargetFramework" meta data to references. Fixed build. GacReferencePanel: when the GAC contains multiple versions of an assembly, show the version that MSBuild will use. Use MSBuild's ResolveAssemblyReferences task to make sure we load the correct assembly version for code-completion. E.g. a reference to "System.Net" loads a different assembly depending on the target framework. SharpDevelop now can also find assemblies in custom reference paths, using assembly tables and everything else supported by MSBuild (including custom ResolveAssemblyReferences tasks). The property pad uses the information from MSBuild to show the resolved assembly version. Project options page: allow choosing 3.0 and 3.5 as target framework. Remove skip-messages for projects not compiled when compiling only a single project using F9. Replace ICSharpCode.SharpDevelop.Func<...> with System.Func<...>; use System.Linq.Enumerable instead of the ICSharpCode.SharpDevelop.Linq helper class. Use MSBuild 3.5. SharpDevelop can now compile C# 3.0 projects created with VS2008 Beta 2. WpfDesigner tests: Change WPF namespace from winfx/2006/xaml/presentation to netfx/2007/xaml/presentation Merge Merged SD 2.2 revision 2603:2624 to trunk. Fixed method insight for constructors. CSharpExpressionFinder: better support for field initializers Fixed two problems in C# expression finder (wrong context detected for property setters and nested types) Fixed code completion bug: calls from nested classes to static methods in the parent class now are resolved correctly. More C# code completion fixes. C# expression finder: Fix "if (a > b) {}". Fixed C# expression finder bug for statements like "if (a < b) {}" Fixed forum-17917: Overriding properties that have get/set accessors with different visibility as the property does not insert the visibility modifier in the overriding code. Overriding abstract members now inserts "throw new NotImplementedException();" instead of a call to the base method. Merged SD 2.2 revision 2560:2603 to trunk. TextEditor: Fixed UpdateToEnd when there are folded regions. TextAreaMouseHandler: This patch by Troy Simpson fixes an issue with selecting text via double-click, then following-up with a gutter selection. GapTextBufferStrategy: rewrote PlaceGap, fixing a performance issue when deleting text in large documents DefaultHighlightingStrategy: cache currentLine.Offset because it's not cheap to retrieve (it's an O(lg n) operation) DefaultDocument.RequestUpdate: when doing a WholeTextArea update, skip all other updates because they would only duplicate the work done by the WholeTextArea update Except for the load time, the performance editing large .txt files is now good; though the text editor takes a huge amount of memory (tested with a 1,000,000 lines file). Change UpgradeCode - otherwise it is not possible to install SharpDevelop 2.2 when SharpDevelop 3.0 is already installed. Applied text editor selection patch by Troy Simpson. Fixed forum-17570: text editor saves an additional empty when saving a file. Add optional "settingsPath" and "domPersistencePath" settings to SharpDevelop.exe.config. These can be used to redirect the settings/code completion cache to different folders, e.g. for running SharpDevelop from a USB stick. Make XML documentation tooltips work even if the code completion cache is disabled. EventHandlerCompletitionDataProvider: build event name correctly ("button1.Click"=>"button1_Click"), fixed support for generic delegates (EventHandler<T>) c# event completion better handles generic eventhandlers (EventHandler<TEventArgs>) with a workaround to resolve TEventArgs into a more explicit reference (eg. MouseEventArgs) improved C# event handler code completion; delegate completion now suggests a method name and optionally inserts the stub. Implemented AttributeReturnType, now the unit test AddIn should work again. Try to work around MSBuild bug that causes the build to fail on the build server. Fixed build. Support right-click > add using on type names when the "using" is missing. Include XamlBinding and WPFDesigner in setup. Fixed WpfDesign unit tests. Add image loading and custom control support to WpfDesign. Add Undo/Redo support to integrated WPF designer. Support ToolBox and PropertyGrid in WPF designer. Add WpfDesigner addin. Add AbstractViewContentHandlingLoadErrors for easy handling of invalid files. Added unit tests for XmlParser getting attribute names with prefixes. Added GetQualifiedAttributeName and GetQualifiedAttributeNameAtIndex methods which return a QualifiedName for an attribute that includes its prefix if any. Revert text editor selection code to that currently used by SD 2.1 - keyboard selection was broken by an old version of Troy Simpson's patch. XamlBinding. Support "Find references" and "Rename" in .xaml files. Worked on Xaml language binding. Fixed broken build. Refactored the interface IAttribute to include useful information (type reference to the attribute type + arguments). Begin work on a Xaml language binding. Fixed use of ActiveWorkbenchWindow / ActiveViewContent / ActiveContent. The tools pad can now host any control as tool box, depending on the current view content. Every view content now has its own SideBar as toolbox, so AddIns don't have to manage merging toolbox sections anymore. Merged SD 2.1/2.2 revision 2532:2560 to trunk. fixed the unit test that was breaking the build. NavigationService now suspends logging while a solution is being loaded and resumes when ParserService.LoadSolutionProjectsThreadEnded fires. It also suspends logging while the workbench is starting up. Updated the NavigationService to reflect Daniel's ongoing work on SD-1234 in revisions 2313 and 2365; When jumping to a file position, the transitory (0x0) position is no longer marked; Added XML comments to NavigationService.cs; Moved the services initialization code from a static constructor (that FxCop didn't like) to the more consistent InitializeService/Unload interface used elsewhere in SharpDevelop. Debbugger.AddIn is now available under the BSD license Implemented forum-16705: MyBase keyword and code completion in constructors Fixed CSharpExpressionFinder "Code Completion when a character is typed" can now be turned off in the options. Merged SD 2.1 revision 2493:2532 to trunk. Cleaned up the Save function. You are now prompted to remove the readonly attribute from Readonly files. Revert to old DockPanelSuite: version 2.0 is too unstable. Begin implementing "aggressive" context-dependent code-completion (Ctrl+Space completion whenever you start to type). Support "go to definition" and "find references" for C# base constructor calls (": base(...)"). Fixed code-completion bugs. Improved C# 3.0 code-completion. Fixed unit tests. Replace List<LineSegment> with an augmented red-black tree that supports all operations (Insert, Remove, GetSegmentByOffset, GetSegmentByIndex and adjusting the line's offsets after insertions) in O(lg n) time (with n=number of lines in document). Fixed build. Merged SD 2.1 revision 2482:2493 to trunk. SD2-1344: "Anti-alias text" option has no effect when ClearType is turned on Refactored code accessing text editor options. TextEditor selection patch from Troy Simposon Fixed setup. Merged SD 2.1 r 2454:2479 to trunk. Fixed LocalCopy settings for references to ICSharpCode.Core in AddIns, use GlobalAssemblyInfo.cs for SharpServerTools projects. Change background color of inactive pads. Apply our patches to the docking library; remove patches that are not required anymore from patchnotes.txt Update to DockPanel Suite v2.0. A crash fix when double-clicking the empty place where the "Add Member" row should have appeared; A fix so that row is no longer empty. Fixed a crash when clicking on a members group list content. Prevent PropertyContainer from failing when there is no workbench (in unit tests) Improved SharpDevelop.Dom API. Fix output path property for Release builds Fix setup for ICSharpCode.DataTools (UI, Model, Addin) Fixed bug that prevented the PropertyPad from displaying the properties of elements in pads. Refactored following discussion at #d discussions in Karlsruhe. Model api factored to be independent of #d, DataTools.UI is reusable UI components independent of #d, DataTools.AddIn is the #d plugin. ServerTools plugin remains unchanged. updated ServerBrowserTool addin file and BitmapResources.resources to include icon for Server Explorer added DbToolsProvider for SQLite Merged SD 2.1 r 2432:2454 to trunk. Some fixes to the diagram code; Some progress with the class editor (mostly conversion to TreeViewAdv); Some FxCop fixes. bugfix to DbProvidersService to handle suspected multiple config entries for the same DbProviderFactory Extracted strings for SharpDbTools into resources Started to externalise strings to resource files. SharpDbTools default resources are centralised in the SharpDbTools assembly, referenced by plugs-ins etc Allow editing the "Content" and "Header" properties. Allow placing elements in a Grid. allow resizing and deleting Grid rows and columns Added row/column creation adorner for Grid. Implemented deleting components from the design surface. Support drag'n'drop from toolbox to designer surface. Fixed bug arising from concurrent access to DbModelInfoService Merged SD 2.1 r 2406:2432 to trunk. Fixed a bug in OracleFormsArtefactFactory to query metadata for users properly, and added check in DbProvidersService so that it notifies users of DbProviderFactories that are not accessible rather than crashing. Allow creating new components. Added drag n drop behaviour to Database Explorer. Selecting a database node and dragging it to a drop target results in the connection string for that database connection being copied to the target. Bugs exist, most importantly in some cases a retrieval of database metadata results in a class cast exception. It is however possible to create a logical database connection, create and test its connection string, without retrieving metadata. Support loading .xaml files that use CDATA-sections. Support loading .xaml files that set up event handlers. Merge unit tests for WpfDesign.Designer and WpfDesign.XamlDom. Keep the Z-Order when moving multiple elements between containers. WpfDesigner: support dragging multiple selected components. XamlDom: better support for element collections. Begin work on moving components between containers. Worked on Move/Resize in the WPF Designer. Allow selecting multiple child elements inside a Panel by "drawing" a selection rectangle. Set Canvas.Left+Canvas.Top attached properties when resizing a control inside a Canvas. Add Undo/Redo support to WpfDesigner. Merged SD 2.1 r2376:2406 to trunk. Allow resizing components. Aga.Controls now builds into the SharpDevelop/bin folder so it can be shared by the Class Diagram and the Debugger addin. Updated the installer to reflect this change. Added clearing features for the class canvas and diagram router. Removed TreeListView.dll and added Aga.Controls.dll to the Class Diagram addin folder in the installer. removed unneeded references. Fixed naming and brought back items accidentally removed. Fixed parameters icon display. fixed build Forum-13925: allow turning off the parameter list in ambience. Fixed coloring issue; Fixed parameter documentation display. Installer now checks that .NET 3.0 is installed. Changed feature title to SharpDevelop 3.0. Changed the default product code and package code guids in the .user file. Switching to use TreeViewAdv instead of TreeListView. Work in progress. Loader updates Removed XomlCodeSeparationDesignerLoader and now use XomlDesignerLoader for all xoml loading. Some FxCop updates. labels alignment. minor fix - handle layout change event of nested types. Refactoring the WorkflowDesignerLoaders Various updates around TypeProviderService and TypeResolutionService. Template updates. Do not load/lock assemblies in WorkflowSideTabService. Merged SharpDevelop 2.1 r2356:2376 to trunk. Various fixes to designer services and FxCop Updates Better compatibility with VS2005 format. Made the Enum and the Delegate blocks look more like in VS2005. Minor bug fixes. Default designer context menu added. Select related property in propertyPad when error selected from activity context menu. Implmented TypeConverter for EventProperties. Fix loading of ViewContent on project opening. FxCop updates Various updates around TypeProviderService and TypeResolutionService. Template updates Fixed build. Worked on SD2-1234 - added support for view contents that are not editing a file (e.g. project options). Fixed build. Merged SD 2.1 r2332:2356 to trunk. Added a new subclass of TextEditorControl to specialise behaviour for SQL, SQLTextEditorControl, plus some test code to get the CompletionWindow showing and working correctly. Next step to add an ICompletionDataProvider that encapsulates pluggable SQL parsing using parser based on coco/r. TypeProviderService added to maintain common TypeProviders for projects. WorkflowSideTabService created to handle toolbox sidetabs for project assembly references. FileRenaming after EventBindingService changes. SideBar handling moved to WorkflowToolboxService. Reworking of EventBindingService Some refactoring; Initial support for nested types. Fixed merged unit tests. Merged SD 2.1 rev. 2226:2312 to trunk: - Unit Tests window changes: It now has an All Tests root node when multiple test projects exist in a solution. Added a toolbar button and menu item to run all the tests in the solution independent of the currently selected test. Added a run with code coverage toolbar button. - Fixed SD2-1123. Code coverage vist count list view is now sortable by column. - Fixed finding generic code-completion members by their Reflection name - fixes problems with Code analysis line numbers not showing for generic classes. - Fixed SD2-1275: Searching using an invalid regex shows search in progress dialog - The LocalizedStringFile property in a WiX project is no longer escaped when the project is saved after making changes in the Application tab of the project options. - Removed Run All Tests context menu item from Unit Tests window. Code coverage window opened after all tests have been run with code coverage and there were no test failures. No longer using a static NCover runner which was raising events in two RunTestWithCodeCoverageCommand instances (toolbar, context menu) and causing one to try to read a test results file which no longer existed. - Fixed SD2-1252: Don't steal file associations from Visual Studio - Fixed SD2-1286: Nested With statements result in stack overflow - Update to NSvn 1.0.0.2727 Class diagram file format matches the Visual Studio Class Diagram file format better (still not perfect, somewhat buggy). Rules file handling implemented. ResourceToolkit: Implemented SD2-1237 - Support accessing linked resource files. Resource files that are accessed using a ResourceManager (except the designer generated ones) are now searched in the project instead of directly on disk. Template updates, EventBindingService and code generation updates Some XML documentation for ICSharpCode.Core. Fixed resource editor. Add the WorkflowDesigner AddIn written by Russell Wilkins, see http://sdwwf.sf.net/ Fixed unit test and setup. Merged SD 2.1 rev. 2226:2312 to trunk. Worked on SD2-1234: Create common way to handle in-memory representations of files that have multiple views. Removed SharpQuery. Using Andrey Gliznetsov's Advanced TreeView for Local Variables Pad A pattern for implementing a ConfigurationCollection for storing recently opened files in your application. Its a good starting point. Added a "graphical" dialog based on the UserExitDialog.wxs Changed the naming for WixDialog.xft Made the NoteCanvasItem editable; Some refactoring and file movement; Added zoom commands (not added to the toolbar yet); Added styling for abstract, static, and sealed classes. Added Andrey Gliznetsov's Advanced TreeView Added a ListView sorting framework to the Widgets library and used it to implement SD2-1266 - sortable columns in resource editor. Implemented some of the member-adding functionality of the ClassEditor (work in progress). Fixed last build; Compare test results in test instead of in TearDown Cache variables for a Function; Some bugfixes Trim nulls from the end of most strings Do not assume that strings are null terminated Fixed a comment. Updated string resources Fixed access to members of base class Added exception test Static method do not have 'this' Fixed types for nested generic classes Debugger tests: Store various states to XML and compare with previous results Unified model for both Local Variables Pad and Tooltips Added progressbar for queries from sqltool, introduced base class derived from TextEditor to host code completion behaviour Added initial editing (refactoring) support to the class editor. Fixed class wizard so it is now compiled to the correct place and has the correct version. Added the class wizard project to the class diagram solution. ResourceToolkit: Fixed resolving of local resource managers (was broken since r2191 because NRefactoryResolver now requires the location to be set on expressions that are parsed with parser.ParseExpression). Support editing multiple controls inside the property editor. Rework hit testing. Support editing enum property in PropertyEditor. WPF PropertyEditor Add "IsSet" button to property grid. Begin implementing the PropertyEditor. Add WindowClone. Fixed CSharpCodeCompletion sample. Allow setting simple properties via DesignItem. WPF Designer. Match to the newest version. Mainly includes features implementation. Initial check-in of the new Class Wizard. Match to the newest version. Mainly includes refactoring and bug fixes. Match to the newest version. Mainly includes features implementation. Match to the newest version. Mainly includes refactoring and bug fixes. Match to the newest version. Mainly includes refactoring and bug fixes. Merged Serralongue 2181:2226 to trunk. More work on adorners. Add adorner support. Support CustomInstanceFactory. Work on designer extensibility framework. Worked on designer infrastructure. Rename DesignSite -> DesignItem. WpfDesigner Create WpfDesign project. Start implementation of our .xaml loader. Fixed variable grouping in tooltips Load debuggee metadata only once and cache it Added generated debugger help file Fixed build: Moved DebuggerObject to correct namespace All debugger classes derive from DebuggerObject; Added missing SVN Revision keywords Improved DebugType.FullName (support arrays and generics) Eval results are not automatically re-evaluated anymore Fixed unit test: Eliminated WaitHandles from process Debugger tests compile (but fail) Add ClassDiagram AddIn by Itai Bar-Haim. Make setup install to Program files\SharpDevelop\3.0 instead of 2.1 Improved VB -> C# converter. Use reflection instead of exceptions to determine type. This minimizes overhead while being debugged. Added some performance measurements; Improved value cache Remove GetClass overload that doesn't take a TypeParameterCount Remove NAntAddIn from setup. Remove NAntAddIn Add partial C# 3.0 support. Moved a few files 3.0 Alpha designation for setup; note: we do not yet check for .NET FW 3.0 preinstalled which will be mandatory for Montferrer Complete rewrite of variable subsystem Subversion post commit hook code checked in Mark trunk as SD 3.0