| <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> |
| <html> |
| <head> |
| <meta |
| http-equiv="Content-Type" |
| content="text/html; charset=Cp1252" /> |
| <meta |
| http-equiv="Content-Style-Type" |
| content="text/css" /> |
| <meta |
| name="Generator" |
| content="WTP HTML Source Page Editor" /> |
| <link |
| href="../theme/Master.css" |
| rel="stylesheet" |
| type="text/css" /> |
| <title>Structured Source Editing Evaluation Guide</title> |
| </head> |
| <body> |
| <h1>Structured Source Editing Evaluation Guide</h1> |
| <h2>1.0 Introduction</h2> |
| <p>Structured Source Editors (SSE) can be used to edit XML, HTML, XHTML, |
| CSS, DTD, client-side JavaScript, and JSP 1.1, 1.2, and 2.0 with Java or |
| server-side JavaScript. They are intended to provide all of the advanced |
| features that Eclipse users appreciate in their editors: content assist, |
| customizable highlighting, as-you-type validation, smart editing, |
| integration with outline and property views and much much more.</p> |
| <p>In addition to the end-user features, the SSE editors are intended to |
| be easy for others to re-use as the source page in multipage editors. |
| One obvious example is as the source page of a WYSIWYG HTML editor. |
| Programmatic interaction with the text model can be accomplished with |
| standard Eclipse text document APIs (e.g. replace) or through standard |
| DOM APIs. We provide a custom DOM implementation that tolerates |
| ill-formed text and that allows for easy integration with other models.</p> |
| <p>An additional component provided is the Snippets view. This provides |
| a type of "clip book" where plug-in providers and end-users can store |
| their favorite bits of code to drag-and-drop into an editor.</p> |
| <p>The code in this initial proposed contribution is a snapshot |
| "midstream" of our move to Eclipse 3.0. There are many bugs and much |
| more to be done integrating with functionality provided in the base |
| Eclipse text infrastructure. However, there's plenty to try out already. |
| So give it a spin, and let us know what you like and don't like.</p> |
| <h2>2.0 Getting Started</h2> |
| <p>Nothing special is needed to get started, just start editing an XML, |
| HTML, CSS, DTD, JavaScript, or JSP file. Referenced DTDs, Schemas, and |
| tag libraries will be loaded and used to provide content assist and fill |
| the Properties view. Note that to enjoy the Java editing integration |
| while editing JSPs, the JSP file will need to be in a Web project or a |
| Java project with the Build Path properly set with a server's library |
| jars.</p> |
| <h2>3.0 Quick Tour</h2> |
| <p>Hopefully all the introductory "standard" editing features would be |
| discoverable by anyone familiar with Eclipse's other editors. Therefore, |
| we've just listed basic features in the following tables. Later in this |
| section we've collected some "new and noteworthy" notes we've written |
| while moving to Eclipse 3.0.</p> |
| <p>Overview of editing features, compared with Eclipse 3.0's Java |
| Editor:<br /> |
| </p> |
| <table |
| border="1" |
| cellpadding="4" |
| cellspacing="0"> |
| <tbody> |
| <tr align="center"> |
| <th></th> |
| <th>Java</th> |
| <th>XML</th> |
| <th>JSP</th> |
| <th>HTML &<br /> |
| XHTML</th> |
| <th>CSS</th> |
| <th>DTD</th> |
| <th>JavaScript</th> |
| </tr> |
| <tr> |
| <td>Highlighting</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| </tr> |
| <tr> |
| <td>Content Assist</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">Y</td> |
| </tr> |
| <tr> |
| <td>Parameter/Attribute Hints</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">-</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Formatter</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Structured Selection</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Hover Info</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">Y</td> |
| </tr> |
| <tr> |
| <td>Smart Insert</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Open Selection</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Find Element</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Validating as-you-type</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">P?</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Delimiter Matching</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| </tr> |
| <tr> |
| <td>Refactoring Participation</td> |
| <td align="center">Y</td> |
| <td align="center">-</td> |
| <td align="center">Y</td> |
| <td align="center">P?</td> |
| <td align="center">-</td> |
| <td align="center">-</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Search Participation</td> |
| <td align="center">Y</td> |
| <td align="center">P?</td> |
| <td align="center">Y</td> |
| <td align="center">P?</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Quick Fix & Quick Assist</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N?</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Property Sheet</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Outline View</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| </tr> |
| <tr> |
| <td>Quick Outline</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Text Folding</td> |
| <td align="center">Y</td> |
| <td align="center">P</td> |
| <td align="center">P</td> |
| <td align="center">P</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| </tr> |
| <tr> |
| <td>Task Tags</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Editing features within the mixed content of JSP files:<br /> |
| </p> |
| <table |
| border="1" |
| cellpadding="4" |
| cellspacing="0"> |
| <tbody> |
| <tr align="center"> |
| <th></th> |
| <th>JSP</th> |
| <th>Custom Tags</th> |
| <th>HTML&XML</th> |
| <th>Client-side JavaScript</th> |
| <th>CSS</th> |
| <th>Server-side Java</th> |
| <th>Server-side JavaScript</th> |
| <th>JSP Expression Language (EL)</th> |
| </tr> |
| <tr> |
| <td>Highlighting</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">P</td> |
| </tr> |
| <tr> |
| <td>Content Assist</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">P</td> |
| </tr> |
| <tr> |
| <td>Validating as-you-type</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">N</td> |
| <td align="center">Y</td> |
| <td align="center">N</td> |
| <td align="center">?</td> |
| </tr> |
| </tbody> |
| </table> |
| <p></p> |
| <h2>Recently added editing functions, views, and JDT integration</h2> |
| <table |
| border="0" |
| cellpadding="10" |
| cellspacing="0" |
| width="85%"> |
| <tbody> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Configurable Go To Next/Previous Annotation</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">The source editor's Go To Next / Previous Error tool bar |
| buttons have been replaced by configurable Go To Next / Previous |
| Annotation drop-down style buttons where you can choose which |
| annotations are considered while stepping: |
| <p><img src="StructuredSourceEditors/annotation1.bmp.jpg" /></p> |
| <p>These actions are also present on the Navigate menu</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Outline view can <i>not</i> follow caret</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">The Outline views now have a toggle option on their |
| toolbars to control synchronization with the cursor in the source |
| editors: |
| <p><img src="StructuredSourceEditors/outlinelink1.bmp.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Context information for attributes</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">A popup with information about attributes for an element is now |
| available (invoked via ctrl+shift+space). The attributes which are |
| already there show up in <b>bold</b>, and required attributes show |
| up with an <b>*</b>: |
| <p><img src="StructuredSourceEditors/attrusage1.bmp.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Background Jobs and Progress View</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">For a consistent "look and feel" we are taking advantage |
| of the new-to-R3 background "Job" class and Progress View for loading |
| content models (instead of having our own thread, and using status |
| indicator as we did previously). |
| <p><img src="StructuredSourceEditors/ProgressView.gif" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Java HoverInfo</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">Information about symbols within Java code sections will |
| be shown in its HoverInfo. |
| <p><img src="StructuredSourceEditors/jsphoverinfo1.bmp.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Java code as-you-type validation</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">The JSP editor now provides for dynamic syntax checking |
| of Java code sections. |
| <p><img src="StructuredSourceEditors/jspcodeerror1.bmp.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Improved debugging support (JSR-045)</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">Breakpoints set within the JSP editor can now be |
| triggered in JSR-045 compatible servers. Apache Tomcat versions |
| 5.0.2, 5.0.12, 5.0.16, and 5.0.25 have been successfully tested. |
| Details are discussed <a href="javafamily-relnotes-short.html?p=1">here</a>. |
| <p><img src="StructuredSourceEditors/breakpoints1.bmp.jpg" /></p> |
| <p>This makes use of the SSE Breakpoint Provider extension API |
| allowing for the setting of breakpoints for use in other scenarios |
| such as client-side JavaScript and XSL transformation debugging.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Conditional breakpoints with JSR-045 debugging</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The JSP editor supports setting conditional breakpoints with |
| JSR-045 compatible servers. This is done using the vertical ruler's |
| context menu.</p> |
| <p><img |
| src="StructuredSourceEditors/2/editbreakpoints.jpg" |
| alt="JSP editor ruler context menu" /></p> |
| <p>Note: this requires additional entries to be made on the JSP |
| project's classpath. See Eclipse bug <a |
| href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51348#c3">51348</a> |
| for details.</p> |
| <p><img |
| src="StructuredSourceEditors/2/editbreakpoints2.jpg" |
| alt="breakpoint properties dialog" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>XML Comment and Uncomment</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>Comment and Uncomment from the Editor pulldown menu can be used to |
| comment each line in a block of selected text in the XML Editor. If |
| no text is selected, the current line is commented.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/commentMenu.jpg" /></p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/commentEditor.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>XML Add Block Comment and Remove Block Comment</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>Add Block Comment and Remove Block Comment from the Editor |
| pulldown menu can be used to comment all elements in a block of |
| selected text in the XML Editor. If no text is selected, the current |
| element is commented.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/addBlockCommentMenu.jpg" /></p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/addBlockCommentEditor.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Quick Fix and Quick Assist</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%">Quick Fix provides proposals for fixing validation |
| errors and warnings. Quick Assist provides proposals for common |
| tasks.<br /> |
| <br /> |
| Here is a list of Quick Fix proposals currently available. More |
| proposals will be added in future milestones. |
| <table border="1"> |
| <tbody> |
| <tr> |
| <th>Validation Error or Warning</th> |
| <th>Quick Fix Proposals</th> |
| </tr> |
| <tr> |
| <td>EmptyTag</td> |
| <td> |
| <ul> |
| <li>remove this tag</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>MissingEndTag</td> |
| <td> |
| <ul> |
| <li>convert to self-ending tag</li> |
| <li>insert end tag</li> |
| <li>remove this tag</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>AttrsInEndTag</td> |
| <td> |
| <ul> |
| <li>remove all attributes in end tag</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>MissingAttrValue</td> |
| <td> |
| <ul> |
| <li>insert default attribute value from content model</li> |
| <li>remove this attribute</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>NoAttrValue</td> |
| <td> |
| <ul> |
| <li>insert default attribute value from content model</li> |
| <li>remove this attribute</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>SpacesBeforeTagName</td> |
| <td> |
| <ul> |
| <li>remove spaces before tag name</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>SpacesBeforePI</td> |
| <td> |
| <ul> |
| <li>remove spaces before processing instruction</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>NamespaceInPI</td> |
| <td> |
| <ul> |
| <li>remove namespace in processing instruction</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>UnknownElement</td> |
| <td> |
| <ul> |
| <li>remove this element</li> |
| <li>local rename</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>UnknownAttr</td> |
| <td> |
| <ul> |
| <li>remove this attribute</li> |
| <li>local rename</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>InvalidAttrValue</td> |
| <td> |
| <ul> |
| <li>replace with default attribute value from content model</li> |
| <li>remove this attribute value</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>MissingRequiredAttr</td> |
| <td> |
| <ul> |
| <li>insert required attribute and default value from content |
| model</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>AttrValueNotQuoted</td> |
| <td> |
| <ul> |
| <li>quote attribute value</li> |
| </ul> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/quickFix.jpg" |
| width="563" |
| height="331" /></p> |
| <p>Local Rename is the only Quick Assist proposal in this milestone. |
| More proposals will be added in future milestones.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Open on Hyperlink Support</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>In previous versions, users were able to open on/navigate to the |
| source/declaration/referred to file of certain tag attributes by |
| using the Open Selection menu item (shortcut key F3 by default). This |
| support has been extended so that in addition to selecting the tag |
| attribute and pressing F3, users are able to use a combination of |
| pressing a modifier key (the Ctrl key by default) and their mouse to |
| hover over the tag users want to open selection on. A hyperlink will |
| then appear for users to click on to Open Selection.</p> |
| <table border="BORDER"> |
| <tbody> |
| <tr> |
| <th width="50%">Tag</th> |
| <th width="50%">File opened</th> |
| </tr> |
| <tr> |
| <td>any HTML tag that contains a URI attribute (as defined by the |
| HTML 4.01 DTD) such as the Anchor tag</td> |
| <td>the file located in the URI attribute value</td> |
| </tr> |
| <tr> |
| <td>any JSP tag that contains a URI attribute (as defined by the |
| JSP 1.2 Specification) such as the jsp:forward tag</td> |
| <td>the file located in the URI attribute value</td> |
| </tr> |
| <tr> |
| <td>jsp:useBean</td> |
| <td>the class referenced by the useBean action</td> |
| </tr> |
| <tr> |
| <td>JSP Scriptlets</td> |
| <td>selected Java element's declaration</td> |
| </tr> |
| <tr> |
| <td>DOCTYPE Declaration</td> |
| <td>the file referenced by the public/system ID</td> |
| </tr> |
| <tr> |
| <td>Schema location attribute</td> |
| <td>the file referenced by the schema location attribute</td> |
| </tr> |
| </tbody> |
| </table> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/hyperlink1.jpg" /></p> |
| <br /> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/hyperlink2.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Quick Diff Support</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The Source editors are now tied into the base Quick Diff support, |
| allowing users to see the difference between their current changes in |
| the file from either the latest version on CVS or version on disk.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/quickdiff1.jpg" /></p> |
| <br /> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/quickdiff2.jpg" /></p></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Find Occurrences <br /> |
| (Ctrl+Shift+A)</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>Source Editors now have the ability to find occurrences of a |
| language element in a file.</p> |
| <p>A user can now search for an element name, attribute name, |
| attribute value, or a Java element (in the JSP Editor). To do so, |
| press Ctrl+Shift+A or use the menu "Source > Occurrences in File". |
| Results will appear in the Search results view.</p> |
| <p align="center"><img |
| src="StructuredSourceEditors/1/occurrences_menuaction.jpg" /> <br /> |
| <b>Find Occurrences Action</b></p> |
| <br /> |
| <p align="center"><img |
| src="StructuredSourceEditors/1/occurrences_results.jpg" /> <br /> |
| <b>Find Occurrences Results</b></p> |
| <hr /> |
| <br /> |
| <p align="center"><img src="StructuredSourceEditors/1/findAll.jpg" /> |
| <br /> |
| <b>XML Example of "Find Occurrences"</b></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="left" |
| valign="top" |
| width="15%"> |
| <p align="right"><b>Highlighting of matching delimiters</b></p> |
| </td> |
| <td |
| valign="top" |
| width="85%">In addition to the previous support for highlighting |
| matching delimiters in server-side Java code snippets and JavaScript |
| code, delimiters can now be highlighted in XML, HTML, JSP, DTD, and |
| CSS files. |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/brackets2.jpg" /></p> |
| <br /> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/1/brackets.jpg" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>JSP Search Support</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>JSP files now integrate with the Java Search functionality.</p> |
| <p>Users can now search for uses of Types, Methods, Fields, etc. in |
| their JSP files via the Java Search Dialog. Search results show up in the |
| Search Results view together with Java search results. |
| <!-- CURRENTLY BROKEN |
| Double clicking on the |
| result will open the appropriate file and jump the cursor to the |
| first occurrence in the file. |
| --> |
| </p> |
| <p align="center"><img src="StructuredSourceEditors/2/jsp_search.jpg" /><br /> |
| <b>JSP Search Dialog</b></p> |
| <br /> |
| <p align="center"><img |
| src="StructuredSourceEditors/2/jsp_searchresults.jpg" /><br /> |
| <b>JSP Search Results</b></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Quick Fix and Quick Assist<br /> |
| (Ctrl+1)</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The JSP Editor now has offers Quick Fix and Quick Assist support. |
| </p> |
| <p>When the editor cursor is in a JSP Java partition and assistance |
| is available, you may press Ctrl+1 to launch Quick Fix and Quick |
| Assist.</p> |
| <p align="center"><img |
| src="StructuredSourceEditors/2/launchQuickAssist.jpg" |
| border="1" /> <br /> |
| <b>Launch Quick Assist</b></p> |
| <p><b>Local Rename</b> is one of the Quick Assist proposals which |
| lets you rename a Java variable across multiple JSP Java partitions. |
| </p> |
| <p align="center"><img |
| src="StructuredSourceEditors/2/localRename.jpg" |
| border="1" /> <br /> |
| <b>Local Rename</b></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Task Tags</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>When a file of a supported content type is built, its comments |
| will be searched for Task Tags and corresponding tasks in the Tasks |
| view automatically created.</p> |
| <img |
| border="0" |
| src="StructuredSourceEditors/3/tasktags1.jpg" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Add more to Snippets</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The <b>Add to Snippets</b> context menu action previously |
| available only in the SSE editors is now available from the Java and |
| Default Text Editors</p> |
| <img |
| border="0" |
| src="StructuredSourceEditors/3/javaaddtosnippets1.jpg" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Source menu on Navigator Views</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The <b>Source</b> context menu, which contains <b>Format Document</b> |
| and <b>Convert Line Delimiters</b> actions, has been added to the |
| Navigator View. The actions can be used on a project, a folder, or a |
| document. When the action is used on a project or a folder, the |
| action will be applied to all documents and sub-folders in the |
| project or folder.</p> |
| <p>In this milestone, the Source actions only supports content types |
| supported by the Source Editor (including XML, HTML, JSP, and CSS). |
| Documents of unsupported content type (for example, bitmaps) will be |
| ignored. In the future, other plug-ins may specify formatters for |
| other content types via an extension point.</p> |
| <p align="center"><img |
| src="StructuredSourceEditors/3/sourceMenu.jpg" |
| border="0" /> <br /> |
| <b>Source Menu</b></p> |
| <p>The Source action progress dialog is cancellable, in case a large |
| folder is selected by accident, or the action is taking too long. The |
| progress dialog also shows you any exceptions the Source action |
| encountered.</p> |
| <p align="center"><img |
| src="StructuredSourceEditors/3/formatDocProgressDialog.jpg" |
| border="0" /> <br /> |
| <b>Format Document Progress Dialog</b> <br /> |
| <font size="-2">Note: The UI for the Format Document Progress Dialog |
| will change in a future milestone.</font></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>In-editor preferences</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The source editor context menu now contains a menu item to change |
| preferences relative to the current editor.</p> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/editorprefsmenu.gif" |
| alt="In editor preferences menu" /> |
| <p>This allows users to change |
| editor preferences easily and immediately without having to navigate |
| the entire preferences dialog.</p> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/editorprefs.gif" |
| alt="In editor preferences" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>New Cleanup options</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>Two new options have been added to Cleanup:</p> |
| <ul> |
| <li><b>Compress empty element tags</b> - compresses empty element |
| tags into the form <tag /></li> |
| <li><b>Insert required attributes</b> - inserts missing required |
| attributes according to the content model</li> |
| </ul> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/cleanupDialog.gif" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>New QuickAssist proposals</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>New useful QuickAssist proposals have been added:</p> |
| <ul> |
| <li><b>Surround with new element</b> - surrounds the element at the |
| cursor with a new element. You will enter the linked edit mode after |
| the new element is inserted. You can rename the default start tag |
| name and end tag name at the same time. While in the linked edit |
| mode, Content Assist is available for selecting the element name.</li> |
| <li><b>Insert required attributes</b> - inserts missing required |
| attributes according to the content model for the element at the |
| cursor</li> |
| </ul> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/newQuickAssistProposals.gif" |
| alt="New QuickAssist Proposals" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>New QuickFix proposals</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>More smarter QuickFix proposals for common validation errors. For |
| example, when a missing end tag is detected, the following QuickFix |
| proposals are available:</p> |
| <ul> |
| <li><b>Change to empty-element tag</b> - changes this tag into the |
| form <tag /></li> |
| <li><b>Remove this tag</b> - removes this problem tag</li> |
| <li><b>Insert end tag before first child element</b> - closes this |
| tag before the first child element</li> |
| <li><b>Insert end tag at end of element</b> - closes this tag at the |
| end of this element</li> |
| </ul> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/newQuickFixProposals.gif" |
| alt="New QuickFix Proposals" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Expand Selection To</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The Expand Selection To actions can be used to select elements in |
| the document easily:</p> |
| <ul> |
| <li><b>Enclosing Element</b> - selects the element at the cursor</li> |
| <li><b>Next Element</b> - expands the selection to the next element</li> |
| <li><b>Previous Element</b> - expands the selection to the previous |
| element</li> |
| <li><b>Restore Last Selection</b> - undoes last selection expansion</li> |
| </ul> |
| <img |
| border="0" |
| src="StructuredSourceEditors/1/expandSelectionToMenu.gif" |
| alt="Expand Selection To Menu" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Rename Refactoring</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>JSP files now participate in the refactoring of Java elements. |
| Renaming a Type, Method, or Package will update the references within |
| JSP files (jsp:useBean tags, import statements, scriptlets, etc.) as |
| well. The necessary changes for JSP files will be computed |
| automatically</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/2/rename1.gif" |
| alt="Java editor Refactor menu" /></p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/2/rename2.gif" |
| alt="Refactor results dialog" /></p> |
| <p>This can be also invoked directly from the JSP source editor. For |
| example, with a class in a <b>jsp:useBean</b> tag selected, choosing |
| Refactor...Rename from the context menu will launch the familiar Java |
| Refactoring dialog.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/2/rename3.gif" |
| alt="Refactor menu in JSP source editor" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Move Refactoring</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>JSP files also participate in the moving of Java source files. |
| After dragging a class <b>MyDate</b> from "one.two.three" into the |
| package "one.two.three.four", when dropped, the user will be prompted |
| to update the affected JSP files.</p> |
| <img |
| border="0" |
| src="StructuredSourceEditors/2/rename4.gif" |
| alt="dialog presented when moving Java sources" /> |
| <p>This type of refactoring can also be invoked via the editor |
| context menu if a Java element is selected.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Automatic Snippets management by content-type</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>The Customizer's Show/Hide functionality from earlier releases has |
| been augmented with more fine-grained controls for visibility.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/3/customizer1.gif" |
| alt="customizer dialog" /></p> |
| <p>Users may now select which content-types a drawer applies to. When |
| editing files those content-types, that drawer will be shown. Drawers |
| configured for per-content-type management but not enabled for that |
| content type will be hidden.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/3/customizer2.gif" |
| alt="content type dialog" /></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr /> |
| </td> |
| </tr> |
| <tr> |
| <td |
| align="right" |
| valign="top" |
| width="15%"><b>Configurable Hover Help</b></td> |
| <td |
| align="left" |
| valign="top" |
| width="85%"> |
| <p>Users can configure the type of hover help displayed, and the |
| keystrokes used to display hover help in Source Editors.</p> |
| <p><img |
| border="0" |
| src="StructuredSourceEditors/hoverspref.jpg" |
| alt="hover help preferences" /></p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <h2>4.0 Provide Feedback to Us</h2> |
| <p>We encourage development/design feed back on the <a |
| href="https://dev.eclipse.org/mailman/listinfo/wtp-dev">wtp-dev</a> mailing list. You can subscribe to the list via <a |
| href="https://dev.eclipse.org/mailman/listinfo/wtp-dev">this link</a>.<br> |
| </br> |
| <br> For usage questions, discussion of bugs, and strange behaviour |
| please post to the eclipse.webtools newsgroup. Information on the Web |
| Tools Platform newsgroup can be found </br> |
| <a href="http://www.eclipse.org/newsgroups/index.html">here</a>.</p> |
| |
| <p></p><hr width="80%"/> |
| <p align="center"><font size="-2"><font color="#808080">Return to the <b>Eclipse Web Tooling Platform Contribution - IBM</b> <a |
| href="../Getting Started.html?p=1">Getting Started Guide</a></font></font></p> |
| </body> |
| </html> |