blob: c8cdb7f702638007a193082c11912451baf60653 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../development/news/new_and_noteworthy.xsl"?>
<release name="3.2" root="../../..">
<component name="General">
<item title="Code Folding enabled by default">
<description>
<p>
Code folding is now enabled by default. The CSS, HTML, JSP and XML
editors all support code folding, as well as the JavaScript editor.
As before, folding when editing CSS, HTML, JSP and XML languages is controlled from
the
<b>Structured Text Editors</b>
preference page.
<br />
<br />
<br />
<img src="sourceediting/folding.png" alt="the Structured Text Editors preference page" />
</p>
</description>
</item>
<item title="Character Pairing">
<description>
<p>SSE-based editors now support automatic character pairing while
typing. The power is in the hands of the adopters, since
no pairs
are explicitly defined by default.</p>
</description>
</item>
</component>
<component name="XML">
<item title="Fix XML Declaration">
<description>
<p>
Cleaning up an XML document now includes correcting missing or
misplaced XML declarations.
For documents that are missing an XML
declaration, one will be added
using the default
encoding set on the
<b>XML Files</b>
preference page. If the existing XML declaration is not at
the start
of the document, it will be moved to the start of the
document.
</p>
<p>
This option can be toggled
in the
<b>Cleanup</b>
dialog when executing the
<b>Cleanup Document...</b>
action of the
<b>Source</b>
menu.
</p>
<img src="sourceediting/xml_cleanup.png" />
<br />
</description>
</item>
<item title="More Typing Preferences">
<description>
<p>New typing preferences have been added to automatically close
attribute values, parentheses
and square brackets.</p>
<img src="sourceediting/xml_typing.png" />
<br />
</description>
</item>
<item title="XML Comment Formatting">
<description>
<p>
Formatting comments in the XML editor now adheres to two new
preferences. The
<b>Format comments</b>
preference allows users to disable comment formatting entirely. The
<b>Join lines</b>
preference allows for comments to have their lines joined when a
particular line's text does not exceed the maximum line width.
</p>
<p>These preferences can be accessed via the XML Editor's preference
page.</p>
<img src="sourceediting/xml_editor.png"></img>
</description>
</item>
<item title="Full XML Catalog Preferences">
<description>
<img src="sourceediting/xml-catalog-editing.png" alt="Improved XML Catalog Preference Page" />
<br />
The XML Catalog page now supports creating all kinds of XML catalog
elements, notably:
<ul>
<li>Rewrite entries (where a starting prefix is exchanged for
another)</li>
<li>Suffix matching</li>
<li>Delegate catalogs (i.e. catalogs included if the URI being
sought after matches a given prefix)</li>
</ul>
Relevant editors (XML, XML Schema, XLS) now support these catalog
entry types for hyperlinking and navigation.
<br />
Thanks to Holger Voormann for the icons!
</description>
</item>
<item title="Quick Outline">
<description>
<p>
The XML editor provides a Quick Outline that has a filterable set
of
elements. Selecting an element from the quick outline
will
highlight the corresponding element in the source editor.</p>
<img src="sourceediting/xml_quick_outline.png"></img>
</description>
</item>
<item title="Paged Content Assist Cycling">
<description>
<p>Content assist in the XML editor now has multiple pages. This new
functionality
creates an identical user experience to that of Java
editors. The default,
or
first page, of content assist still displays
the same results, by
default, as
the old content assist did but
subsequent invocations of content
assist will
display different pages
of content assist suggestions.</p>
<img src="sourceediting/xml_ca_pages.png"></img>
<p>The order in which results are displayed on the default content
assist page and the
order in which subsequent pages are displayed
are user configurable
through a new
preference page.</p>
<img src="sourceediting/xml_ca_pref.png"></img>
</description>
</item>
<item title="Comment Folding">
<description>
<p>XML comments can now be folded in the editor. When a comment is
folded, the first line of text remains visible.</p>
<img src="sourceediting/xml_comment.png" />
<br />
<p>After folding the comment...</p>
<img src="sourceediting/xml_comment_folded.png" />
<p>
As always, the appearance of commented text can be adjusted using
the XML
<b>Syntax Coloring</b>
preference page.</p>
</description>
</item>
</component>
<component name="HTML">
<item title="Quick Outline">
<description>
<p>
The HTML editor provides a Quick Outline that has a filterable
set of
elements. Selecting an element from the quick outline
will
highlight the corresponding element in the source editor.</p>
<img src="sourceediting/html_quick_outline.png"></img>
</description>
</item>
<item title="Paged Content Assist Cycling">
<description>
<p>Content assist in the HTML editor now has multiple pages. This
new functionality
creates an identical user experience to that of
Java editors. The default,
or
first page, of content assist still
displays the same results, by
default, as
the old content assist did
but subsequent invocations of content
assist will
display different
pages of content assist suggestions.</p>
<img src="sourceediting/html_ca_pages.png"></img>
<p>The order in which results are displayed on the default content
assist page and the
order in which subsequent pages are displayed
are user configurable
through a new
preference page.</p>
<img src="sourceediting/html_ca_pref.png"></img>
</description>
</item>
<item title="More Typing Preferences">
<description>
<p>New typing preferences have been added to automatically close
attribute values, parentheses
and square brackets.</p>
<img src="sourceediting/html_typing.png" />
<br />
</description>
</item>
</component>
<component name="XSL">
<item title="PsychoPath XPath 2.0 Processor">
<description>
<p>The PsychoPath XPath 2.0 Processor now passes all of the XPath
2.0 Core Test Suite.
The processor is now 99.8 percent complaint to the entire XPath 2.0
Schema Aware portion of the W3C Test Suite. The
processor framework may be used either as an OSGI bundle or as a standalone
jar with out an OSGI container.
</p>
<p>
All development history and related bugs can be viewed on
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=262765">bug 262765.</a>
</p>
</description>
</item>
<item title="Stylesheet Outline">
<description>
<p>The existing XML Outline View has been made XSL aware.</p>
<img src="sourceediting/stylesheetoutline.png" alt="stylesheet outline" />
<br />
<br />
<p>If the XSL feature has been installed the, XML Outline will now
render an XSL aware view.
This helps distinguish the existing XML
elements from the XSL specific
elements.</p>
</description>
</item>
<item title="Stylesheet Model">
<description>
<p>A new view has been made available for XSL editing.</p>
<img src="sourceediting/stylesheetmodel.png" alt="stylesheet model" />
<br />
<br />
<p>The view provides a quick and easy overview of the Templates,
Import/Included stylesheets, and variables.
Named Templates and
Match Templates are grouped together and all
elements. The view is
linked to the
active XSL Editor and the view can also be used to navigate
the stylesheet.</p>
</description>
</item>
<item title="XPath View - XPath 2.0 Support">
<description>
<p>The XPath View now has the ability to select between XPath 1.0
and XPath 2.0 as the language to be used during evaluation of the
expression.
The XPath View for XPath 1.0 uses Xalan's XPath engine for evaluation.
For XPath 2.0, the PsychoPath XPath 2.0 processor is used.'</p>
<br />
<br />
<img src="sourceediting/xpath-proc-versions.png" alt="local menu item" />
</description>
</item>
<item title="XPath View - Edit Namespaces">
<description>
<p>The XPath view now supports editing the namespace prefixes to be
used during the evaluation of the expression. This provides the
ability to assign xpath expressions to the default namespace as
well as specify specific prefixes for various namespaces in an XML
document used
during the evaluation.</p>
<br />
<br />
<img src="sourceediting/xpath-edit-namespace.png" alt="local menu item" />
</description>
</item>
<item title="XPath 2.0 element and attribute Schema Awareness">
<description>
<p>
The PsychoPath XPath 2.0 processor now supports the schema aware
features of the
<a href="http://www.w3.org/TR/xpath20/#id-element-test">ElementTest</a>
and
<a href="http://www.w3.org/TR/xpath20/#id-attribute-test">AttributeTest</a>
during instance of evaluation.
</p>
</description>
</item>
</component>
<component name="JSDT">
<item title="Perspective changes">
<description>
<p>
The JavaScript-specific
<b>Script Explorer</b>
view has been removed and its functionality integrated into the
<b>Project
Explorer</b>
(or corresponding views in adopter products, see bug <a href="http://bugs.eclipse.org/311459">311459</a> for details). The JavaScript objects
defined in Source folders now appear under the familiar
<b>JavaScript Resources</b>
node, just as the contents of Libraries have in earlier releases.
Additionally, JavaScript source files found in the project's
<i>Include Path</i>
are now themselves expandable.</p>
<img src="jsdt/source_and_expandable.png" alt="Source folders under the JavaScript Resources node"></img>
</description>
</item>
<item title="Improved namespace support">
<description><p>When working with larger codebases, it's common to declare objects in a way that mimics Java's packages:
<br/>
<img src="jsdt/namespace-prototype.png" alt="Example declaring a constructor for an inner object"/></p>
<p>
The <b>JavaScript Resources</b> node now offers the ability to group contents into their namespaces, mimicing the corresponding layout offered for Java classes.
<br/>
<br/>
<span title="Flat"><img src="jsdt/namespace-flat.png" alt="The above example, with friends, in the traditional flat layout" align="top"/></span>
<span title="Grouped"><img src="jsdt/namespace-grouped.png" alt="The above example, with friends, grouped into a namespace" align="top"/></span>
</p>
<p>
This option is enabled by default, but can be toggled using the <b>Folder Presentation</b> submenu.
<br/>
<br/>
<img src="jsdt/folder-layout.png" alt="Folder Presentation menu"/>
</p>
</description>
</item>
<item title="JSDI API">
<description>
<p>
The JavaScript Debug Interface (JSDI) is an API that consumers can
implement to hook into
the use of the debug core and UI bundles.
Implementing SDI for a particular scenario allows
consumers to take
advantage of the debug model and UI for
<em>free</em>
</p>
<p>
JSDI is provided as new API in the
<code>/org.eclipse.wst.jsdt.debug.core</code>
bundle in the packages:
<ul>
<li>
<code>org.eclipse.wst.jsdt.debug.core.jsdi</code>
- which contains the core JSDI descriptions
for debug elements and JavaScript values
</li>
<li>
<code>org.eclipse.wst.jsdt.debug.core.jsdi.connect</code>
- which contains descriptions of debug client
connectors that are used to plug into the core launching framework
</li>
<li>
<code>org.eclipse.wst.jsdt.debug.core.jsdi.event</code>
- which contains descriptions of all of the events
JSDI handles while debugging
</li>
<li>
<code>org.eclipse.wst.jsdt.debug.core.jsdi.request</code>
- which contains descriptions of all of the kinds
of requests that can be sent using JSDI
</li>
</ul>
</p>
</description>
</item>
<item title="Rhino Debug Support">
<description>
<p>
JSDT Debug provides a base implementation of JSDI in the form of
Rhino debug support. This support includes:
<ul>
<li>A Rhino connector</li>
<li>A Rhino debug client to enable remote debugging</li>
<li>Source lookup</li>
<li>Breakpoint participants</li>
<li>The Rhino console</li>
</ul>
</p>
</description>
</item>
<item title="Quick Access to Breakpoint Properties">
<description>
<p>
Breakpoint properties are now quickly accessible via the context
menu in the Breakpoints View (to better match
JDT breakpoint
support).
</p>
<img src="jsdt/bp_menu_props.png" alt="Breakpoint Properties Quick Access"></img>
</description>
</item>
<item title="Breakpoint Condition Content Assist">
<description>
<p>
Content Assist is now available in the breakpoint condition
editor.
</p>
<img src="jsdt/bp_content_assist.png" alt="Breakpoint Condition Content Assist"></img>
</description>
</item>
<item title="Rhino Console">
<description>
<p>
When wanting to test Rhino, or work from a command line interface,
we have provided the Rhino debug console.
Our Rhino console allows
access to all of the Mozilla Rhino shell tools as described
<a href="http://developer.mozilla.org/en/docs/Rhino_Shell">here</a>
. Our shell replacement can be run using the
<code>org.eclipse.wst.jsdt.debug.rhino.debugger.shell.DebugShell
</code>
class from the
<code>org.eclipse.wst.jsdt.debug.rhino.debugger</code>
project.
</p>
<img src="jsdt/rhino_console.png" alt="Rhino Console"></img>
</description>
</item>
<item title="Show All Scripts">
<description>
<p>
In the Debug View you can view all of the scripts currently
loaded in the the running debug target.
</p>
<img src="jsdt/all_loaded_scripts.png" alt="Show All Scripts"></img>
</description>
</item>
<item title="Open Source (Ctrl+3)">
<description>
<p>
When showing all scripts you can also load the source for any
scripts that has been loaded at any given time.
To do so we have provided the Open Source command available in the
Debug View (Ctrl + 3).
</p>
<img src="jsdt/open_source.png" alt="Open Source"></img>
</description>
</item>
<item title="Step Into Script Load">
<description>
<p>
With our existing support to suspend execution when a (or any) script
loads it was not clear to the user what could
happen next. We have added support to be able to step into the first
executable line of the the loaded script (as well as
resume execution like before). Also the suspended message on the thread
now gives a very clear message why you are suspended.
</p>
<img src="jsdt/step_into_script.png" alt="Step Into Script Load"></img>
</description>
</item>
<item title="Breakpoint Participants">
<description>
<p>
Breakpoint participants can be contributed by consumers to take part in the suspension of any of the supported
breakpoint types (function, line or script load). They can be provided via the <code>org.eclipse.wst.jsdt.debug.core.breakpointParticipants</code>
extension point.
</p>
<p>
Rhino provides an implementation that participates in the suspension of all breakpoint types: </p>
<pre>
<code>
&lt;extension point="org.eclipse.wst.jsdt.debug.core.breakpointParticipants"&gt;
&lt;participant
class="org.eclipse.wst.jsdt.debug.internal.rhino.breakpoints.RhinoBreakpointParticipant"
kind="*"&gt;
&lt;/participant&gt;
&lt;/extension&gt;
</code>
</pre>
</description>
</item>
<item title="Line Breakpoints">
<description>
<p>
Like any other, the JavaScript debugger provides <i>line breakpoints</i>. These can be set using the standard methods
such as toggling in the editor ruler, from the <b>Outline View</b> or using Ctrl+Shift+B when in source.
</p>
<img src="jsdt/line-bp.png" alt="JavaScript Line Breakpoint"></img>
</description>
</item>
<item title="Function Breakpoints">
<description>
<p>
<i>Function breakpoints</i> are supported similarly to JDT, allowing a suspend on entry or exit from a function.
These can be set using the standard methods such as toggling in the editor ruler, from the <b>Outline View</b> or using Ctrl+Shift+B when in source.
</p>
<img src="jsdt/function-bp.png" alt="JavaScript Function Breakpoint"></img>
</description>
</item>
<item title="Script Load Breakpoints">
<description>
<p><i>Script load breakpoints</i> can be set per JavaScript to suspend execution when that particular script is loaded.
This feature provided by a toolbar action in the Breakpoints View.
</p>
<img src="sourceediting/addscriptload.png" alt="Debug view toolbar button for adding a Script Load Breakpoint"></img>
<br/>
<br/>
<img src="jsdt/script-load-bp-chooser.png" alt="JavaScript Script Selection Dialog"></img>
<p>
Example of a script load breakpoint
</p>
<img src="jsdt/script-load-bp.png" alt="JavaScript Load Breakpoint"></img>
</description>
</item>
<item title="Breakpoint Detail Panes">
<description>
<p>
For each of the breakpoint types we support there are accompanying details panes for the new Breakpoints View.
Each detail pane allows you to quickly make changes to that kind of breakpoint.
</p>
<img src="jsdt/function-details.png" alt="Function Breakpoint Detail Pane"></img>
</description>
</item>
<item title="Breakpoint Properties">
<description>
<p>
Each breakpoint type has its own properties page that is opened via the Breakpoint View using the
standard Alt+Enter key binding or the context menu.
</p>
<img src="jsdt/function-properties.png" alt="Function Breakpoint Properties"></img>
</description>
</item>
<item title="Suspend when any script loads">
<description>
<p>
Even with support to suspend when a particular script loads, it is extremely useful to be able to know when
any given script loads. This is particularly useful for know when:
<ul>
<li>An evaluated script loads and you want to be able to step through it during the evaluation</li>
<li>You are trying to find our what scripts are loaded in what order</li>
<li>You are trying to find a particular script and don't know its name or have it in your workspace</li>
</ul>
This feature is provided by a view action in the Breakpoints View.
</p>
<img src="jsdt/any-script-load.png" alt="Suspend when any script is loaded"></img>
</description>
</item>
<item title="Universal Launching Support">
<description>
<p>
To support remote debugging we support a reusable UI that consumers get for <em>free</em> when they provide a JSDI launching connector.
<br /><br />
The following example is the UI for Rhino launching connector.
</p>
<img src="jsdt/rhino-connector.png" alt="Rhino Launching Connector UI"></img>
</description>
</item>
<item title="Watch Expressions">
<description>
<p>Watch expressions can be added to a debug session in the same manner as JDT. They are re-evaluated after stepping
operations and are persisted across workbench invocations.
</p>
<img src="jsdt/watchexpression.png" alt="JavaScript watch expression"></img>
</description>
</item>
</component><component name="JSP">
<item title="Quick Outline">
<description>
<p>
The JSP editor provides a Quick Outline that has a filterable set
of
elements. Selecting an element from the quick outline
will
highlight the corresponding element in the source editor.</p>
<img src="sourceediting/jsp_quick_outline.png"></img>
</description>
</item>
<item title="Paged Content Assist Cycling">
<description>
<p>Content assist in the JSP editor now has multiple pages. This new
functionality
creates an identical user experience to that of Java
editors. The default,
or
first page, of content assist still displays
the same results, by
default, as
the old content assist did but
subsequent invocations of content
assist will
display different pages
of content assist suggestions.</p>
<img src="sourceediting/jsp_ca_pages.png"></img>
<p>The order in which results are displayed on the default content
assist page and the
order in which subsequent pages are displayed
are user configurable
through a new
preference page.</p>
<img src="sourceediting/jsp_ca_pref.png"></img>
</description>
</item>
<item title="More Typing Preferences">
<description>
<p>New typing preferences have been added to automatically close
Java strings, parentheses
and both square and angle brackets.</p>
<img src="sourceediting/jsp_typing.png" />
<br />
</description>
</item>
</component><component name="CSS">
<item title="CSS Selector Syntax Highlighting Preferences">
<description>
<p>The CSS editor now has more syntax highlighting preferences for selectors. The syntax highlighting preferences are available from the <b>Syntax Coloring</b> Preference page.
<br />
<br />
<img src="sourceediting/css_syntax_highlighting.png" alt="CSS Syntax Highlighting Preferences" />
<br />
<br />
</p>
</description>
</item>
<item title="CSS Comment Toggles">
<description>
<p>CSS files can now be quickly commented using the commenting actions common to other Structured Text Editors.
The commenting actions are available from the Source menu.</p>
</description>
</item>
<item title="Quick Outline">
<description>
<p>
The CSS editor provides a Quick Outline that has a filterable set of elements. Selecting an element from the quick outline
will highlight the corresponding element in the source editor.</p>
<img src="sourceediting/css_quick_outline.png"></img>
</description>
</item>
</component>
</release>