[Bug 330519] Re: The road to Monodevelop 2.0

directhex directhex at apebox.org
Thu Feb 19 23:35:03 UTC 2009


As much of a changelog from 1.0 as I'm able to extract from alpha/beta
notes:

== Per-project/solution Policies ==
Many of the settings that were previously only available in the user's global preferences can now be set per-solution and per-project. Those settings are grouped in what we call policies.

Policies include:

    * Text style: tabs to spaces, tab width, etc.
    * Standard header
    * Default namespaces for projects' directories
    * Resource naming styles
    * Commit message formatting
    * ChangeLog location and formatting 

Policies can be applied to solutions, and can be overridden on child
projects or solution folders.

== Project System ==
This release includes full support for multiple target frameworks. The .NET 3.0 and 3.5 target frameworks are now explicitly supported. MonoDevelop will now detect inconsistencies in project references. For example, a project targeting the 2.0 framework won't be able to reference projects targeting 3.0 or 3.5. 

== Project Management ==
=== MSBuild File format ===
MonoDevelop now uses the MSBuild project format as its native file format. This improves compatibility with Visual Studio, and will allow MonoDevelop to transition to using xbuild/MSBuild as the build engine.

The old MonoDevelop project file format (mdp) is still supported. The
default file format to use when creating new projects can be configured
in the MonoDevelop preferences dialog, Load/Save section.

=== New project model: Workspaces and Solution Folders ===
The MonoDevelop project model has been reorganized to better fit the MSBuild model, but without losing particular features that MonoDevelop used to have.

One important change is the introduction of Solution Folders. Solution
folders allows organizing projects using folders inside a solution. This
organization used to be done with nested solutions, but the solution
folder model is more robust and it is compatible with the Visual Studio
model.

Another change is the new support for Workspaces. A workspace allows
grouping together a set of solutions (or other child workspaces).
Workspaces are useful when you have several related but independent
solutions and you want to open all of them at once.

=== Opening Multiple Solutions ===
MonoDevelop now supports opening multiple solutions at the same time. This is useful when you are working with a solution and want to review code side-by-side which belongs to another solution.

=== Configurable Project Base Directory ===
All projects have a base directory assigned. This base directory is where the project file is located. All files included in the project are supposed to be under that directory, and it is the directory structure shown in the Solution Pad (files outside the project directory are still alowed, but they are shown all together in a special 'External Files' folder).

In order to support other project directory structures, it is now
possible to specify a custom base directory for a project. So for
example, now a project file can be saved in a directory and project
files in a different directory. The Solution Pad will show the correct
source file structure, and all version control operation will be
directed to the custom base directory.

The base directory can also be specified for solutions, solution folders
and workspaces.

=== Option Dialogs Reorganization ===
The options dialogs have been reorganized to make it easier to find the settings to manage.

Configuration-specific option panels are grouped together with all other
panels (configuration selection is now done inside the panel, not in the
options tree), so option panels can be more logically organized.

== Web Development ==
MonoDevelop's ASP.NET web projects are now compatible with Visual Studio 2008 and Visual Web Developer 2008 SP1.

The reliability and performance of the ASP.NET source editor and code
completion is much improved.

CodeBehind partial designer classes are now updated only if needed,
improving build time.

HTML code completion is now available for HTML files as well as ASP.NET
documents.

Preliminary support for Moonlight 2.0 is available. Projects can be
created, edited and saved, and a limited amount of XAML code completion
is enabled. The projects are compatible with Visual Studio's Silverlight
2 projects. However, building and running of these projects is not yet
implemented.

=== ASP.NET code completion better ===
supports child controls and custom controls. Tags in standalone HTML documents are now autocompleted.

=== Code Completion ===
Code completion of tag, attributes, attribute values and event handlers is now supported for ASP.NET and various HTML DTDs.

=== Path Bar ===
The path bar shows the current tag hierarchy and offers a quick way to select tags and their contents.

=== Document Outline ===
The outline pad shows the document structure and enables quickly selecting any element. 

=== Tags in Toolbox ===
ASP.NET controls are shown in the toolbox for the text editor. Dragging them to the text document automatically adds the necessary assembly reference and tag prefix registration. 

== Go to File Dialog ==
The Go to File/Type dialog has been greatly improved. It now supports acronym matching. The filtering algorithm tries to find the best match, not only by searching substrings, but also by splitting the search string in several parts and trying to match them through all the words that compose the string being checked. 

== GTK# Designer ==
Better support for moving files. When moving a window or widget implementation from one project to another project, the design will also be automatically moved.

== Source Code Editing ==
=== vi Modes Support ===
Several missing commands have been implemented, and mouse selection is handled better.

=== C# Code Completion Improvements ===
There have been many fixes and improvements to C# code completion. Code completion is more reliable and works in more contexts. Autocompletion of constrained generic parameters is now supported. 

=== Source Code Editor ===
The source editor now has an indication in the margin of lines that are dirty or changed. 

=== Code Folding ===
Regions, members and comments can be collapsed in order to navigate code more easily. Tooltips show a preview of the collapsed contents.

=== Incremental Search Bar ===
The non-intrusive search bar makes searching and replacing text easier.

=== Colour Schemes ===
Colour schemes are available for changing the appearance of the text editor. 

=== Split View ===
The text editor can be split into two panels viewing different parts of the same file.

=== Transparent Popups ===
The 'Control' key can be used to make any of the completion and information popup windows transparent, to reveal the code underneath. Note that this is only available with GTK+ 2.12 and a compositing window manager such as Compiz. 

=== Toolbox clipboard snippets ===
Copied text snippets are now retained on the toolbox for later access.

=== XML Editing ===
The XML Editor from SharpDevelop has been fully integrated into MonoDevelop and improved. It supports code completion of tags, attributes and attribute values (available for registered XSD schemas). A range of schemas are supplied with MonoDevelop.

XML files can be validated using the built in schemas, and can have XSL
transforms applied. in addition, XSD schemas can be generated from XML
files.

== New Tools ==
=== Assembly Browser ===
The new assembly browser allows inspecting the contents of an assembly. It can display type and member definitions, and the IL of methods. 

=== Code Metrics ===
The Code Metrics add-in scans a project and provides basic statistics about line counts and source code licenses. 

=== Pad/Document Switcher ===
A new pad/document switcher can be shown by pressing Ctrl+Tab. 

== Integrated Debugger ==
The new Exception Filter dialog allows selecting a set of exceptions, and the debugger will stop when any of those exceptions is thrown.

The new Expression Evaluation window allows to quickly evaluate an
expression while the debugger is stopped.

The expression evaluation engine now supports asynchronous evaluation,
so execution of methods or properties won't freeze the IDE anymore.

Here is a list of the supported features (not all features are supported in both debuggers): 
    * Step by step debugging.
    * Variable and field value inspection, with support for drill-down, and value editing (with code completion).
    * Process Attach/Detach (only GDB).
    * Disassembly view, mixed with source code view when available.
    * Call stack and threads window.
    * Debug tooltip in the editor. It shows the value of variables in a tooltip, with support for drill-down and value editing.
    * Expression evaluator.
    * Support for breakpoints. Adding, removing, enabling, disabling.
    * Tracepoints, hitpoints, and conditional breakpoints (currently only working in GDB). 

== Vala Add-in ==
The new Vala project type allows managing, editing, and compiling Vala (http://live.gnome.org/Vala) code (using valac). The compilation is configurable, including define symbols, linked libraries, custom VAPI paths and arbitrary additional arguments.

Integration with Vala's API binding system allows users to easily
reference packages like SDL, DBus, or libsoup. Library projects produce
VAPIs for use with Vala, as well as pkg-config files for use with C and
other languages.

Class pad browsing is supported via exuberant ctags, as is limited code
completion.

== Miscellaneous ==
    * The Gettext translation editor has been overworked and is much more feature-complete.
    * MonoDevelop's UI now better conforms to the GNOME Human Interface Guidelines.
    * Support for running MonoDevelop on Macs and other platforms has been improved.
    * Namespaces of new file can be based automatically on folder names
    * Improved encapsulate fields dialog
    * Improved mime type handling
    * The Welcome Page now shows news published on-line.
    *  Improved key binding customization. The stock key binding schemes have been cleaned and corrected. The key binding customization panel now detects conflicts.
    * Find in files: matches are now highlighted in the results list.
    * Shortcuts for switching pads. It is now possible to define shortcuts for activating pads.
    * Assembly browser: Navigating through definitions by clicking on identifiers is now supported.


---

It's better with pictures:
http://monodevelop.com/Release_notes_for_MonoDevelop_2.0_Alpha_1
http://monodevelop.com/Release_notes_for_MonoDevelop_2.0_Alpha_2
http://monodevelop.com/Release_notes_for_MonoDevelop_2.0_Beta_1

-- 
The road to Monodevelop 2.0
https://bugs.launchpad.net/bugs/330519
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs at lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs




More information about the universe-bugs mailing list