<html> | |
<head> | |
<meta http-equiv="Content-Language" content="en-us"> | |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> | |
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> | |
<meta name="ProgId" content="FrontPage.Editor.Document"> | |
<title>Eclipse Project Development</title> | |
<meta name="Author" content="Eclipse Project PMC"> | |
<link rel="stylesheet" href="../../default_style.css" type="text/css"> | |
</head> | |
<body> | |
<h1>Eclipse 2.1 High Priority Challenges</h1> | |
<p>Last revised October 2, 2002</p> | |
<p>The following key challenges confront Eclipse. To focus our efforts these challenges are | |
factored into two sets: the highest priority challenges | |
that we are addressing now, and other important challenges that we should | |
consider AFTER addressing the highest priority challenges. We will | |
regularly revise the contents of these lists to reflect current priorities.</p> | |
<h2>Highest Priority Challenges (that we are addressing now)</h2> | |
<h3>Allow user customizable key bindings</h3> | |
<p>Eclipse provides some support for configurable key bindings. The current | |
support is limited:</p> | |
<ul> | |
<li>only the editor key bindings can be customized.</li> | |
<li>the key bindings can only be changed by a plug-in contributor but not the | |
end user.</li> | |
<li>the current support is error prone for clients and puts a lot of burden on | |
the editor and view contributors <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22568">22568</a>.</li> | |
</ul> | |
<p>In addition to making it possible for the user to edit the environment's key | |
bindings, there are additional customization possibilities including visible | |
actions and perspective layout.</p> | |
<p>Involved components: SWT, Platform UI, Text, JDT UI</p> | |
<p>Dynamic team (tasked Sept. 20, 2002): Mike Wilson, Andre Weinand, Kai-Uwe Maetzel, | |
Chris McLaren, Steve Northover</p> | |
<h3>More flexible project layout</h3> | |
<p>In Eclipse the contents of a single project needs to be under a single root. | |
There are complaints that this structure is too rigid. We have to understand | |
this complaints and investigate into a solution, see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6664">6664</a>, | |
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6144">6144</a> or the | |
newsgroup <a href="file:///C:/Documents%20and%20Settings/EGamma/Desktop/Challenges2-1.htm">http://dev.eclipse.org/newslists/news.eclipse.tools/msg19749.html</a>.</p> | |
<p>It would be desirable to have the output folder used by the Java builder to | |
be not under the project <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5043">5043</a>. | |
This allows storing the source on a network drive and the generated code on a | |
local drive.</p> | |
<p>For some projects parts of the source tree should be ignored for building | |
purposes.</p> | |
<p>Involved components: Platform Core, Platform UI, VCM, JDT Core, JDT UI</p> | |
<p>Dynamic team (tasked Sept. 19, 2002): DJ Houghton, Philippe Mulet, Jim des | |
Rivieres, Chris McLaren, John Arthorne</p> | |
<p>Also particpating: Kevin McGuire, Michael Valenta, John Wiegand, Jeff McAffer | |
</p> | |
<p>Working documents:</p> | |
<ol> | |
<li><a href="inflexible-projects-problem.html">Problem Definition - Inflexible | |
Project Structure</a></li> | |
<li><a href="towards-more-flexible-projects.html">Towards More Flexible Project | |
Structure</a></li> | |
<li><a href="flexible-projects-proposal.html">Flexible Project Structure</a></li> | |
</ol> | |
<h3>Add Workbench Navigation History</h3> | |
<p>When navigating code many editors can get opened. It is easy for the user to | |
lose context since there is no easy way to go back to a previous point in the | |
navigation path. There should be support for back/forward actions to enable | |
users to go back.</p> | |
<p>Issue tracking bug: <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5700">5700</a>.</p> | |
<p>Involved components: Platform UI, Text, JDT UI</p> | |
<p>Dynamic team: Eduardo Pereira, Kai-Uwe Maetzel</p> | |
<h3><b>Support building projects with circular dependencies</b></h3> | |
<p>For 2.0.2 we will provide a fix to improve error reporting when there are circular | |
projects. For 2.1 we will revisit this problem <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10262">10262</a> | |
to improve the build behavior.</p> | |
<p>Involved components: Platform Core, JDT Core, Platform UI.</p> | |
<p>Dynamic team (tasked Oct. 2, 2002): Philippe Mulet, Jim des Rivieres, John | |
Arthorne, Tod Creasey</p> | |
<h3>Improve file encoding support</h3> | |
<p>Eclipse allows to set the encoding used for reading and writing files for the | |
entire workspace. This is perceived as too limiting. The challenge here is to | |
describe the problem we want to solve, outline solution, and finally, to implement it.</p> | |
<p>Issue tracking bug: <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5399">5399</a>.</p> | |
<p>Involved components: Platform Core, Platform UI, Platform text, Search, | |
Compare, JDT UI, JDT Core.</p> | |
<h3>Improve startup time</h3> | |
<p>The time to start eclipse based products should be improved. This is | |
typically done by delaying the loading of plugins for as long as possible. | |
Additional opportunity for deferred activation of plugins should be investigated | |
including changing how (and how much) we recover UI state. There are also opportunities for improved tools to assist ISV's in | |
optimizing the time it takes for their plugins to load. </p> | |
<p>Involved components: Platform Core, Platform UI, (All)</p> | |
<h2>Other important challenges (that we should consider AFTER addressing the | |
highest priority challenges above)</h2> | |
<h3>Support multi-jar system libraries</h3> | |
<p>Eclipse can already use 1.4 level JREs and JDKs as the product runtime. | |
However, some recent JREs have started packaging their class libraries in | |
multiple jars (not a single rt.jar). This may require additional support | |
in JDT to make this both easy to define, and natural to use.</p> | |
<p>Involved components: All (testing JRE 1.4), JDT UI, JDT Core</p> | |
<h3>Improve Ant support</h3> | |
<p>Add support to navigate from Ant error output to the | |
corresponding source.</p> | |
<p>Involved components: Platform UI, Ant Core</p> | |
<h3>Add cheat sheets</h3> | |
<p>Cheat sheets are an | |
idea for providing better user assistance. For example, "creation and | |
deployment of a plugin" is a multi-step process that could be made easier | |
to follow if there was a guide, similar to a recipe that would track the user's | |
progress and provide both descriptive text that explains the steps involved and | |
integration with Eclipse to automate the process.</p> | |
<p>Involved components: Platform UI</p> | |
<h3>Add table of contents support to wizards</h3> | |
<p>Users may get lost in a complex wizard. For these cases a table of contents | |
may help provide the user context as well as assist in navigating.</p> | |
<p>Involved components: Platform UI</p> | |
<h3><strong>Improve update manager</strong></h3> | |
<p>Allow newly installed features to make the user aware of the new capabilities | |
that were installed as well as allowing the feature to customize the | |
environment.</p> | |
<p>Involved components: Platform UI, Install/Update</p> | |
<h3>Support floating toolbars and views</h3> | |
<p>There are cases where a floating view is useful - repetitive tasks or | |
sequenced instructions: e.g. Cheat sheets, palettes. Some developers want to maximize the edit area to use their entire screen and | |
then rely on floating toolbars to provide access to function.</p> | |
<p>Involved components: Platform UI, SWT</p> | |
<h3>"Remote Projects"</h3> | |
<p>This item is currently under-specified. We need to determine the correct | |
approach for clients to work with remote resources in the 2.1 timeframe. | |
Once we have closed on the direction, we can provide a more accurate | |
specification of this task.</p> | |
<p>Involved components: Unknown</p> | |
<h3>Allow editors to open files outside workspace</h3> | |
<p>It is a common request to be able to open a file that is not part of the | |
workspace with Eclipse. In addition, applications would like to provide OS | |
associations into Eclipse so double-clicking on a file on the Windows Explorer | |
would open the associated Eclipse editor. We need to define what | |
operations and capabilities would be available for these "outside of | |
the workspace" files</p> | |
<p>Involved components: Platform UI, Text</p> | |
<h3>File System Synchronization</h3> | |
<p>The handling of out of sync resources is not consistent. We should have a | |
common scheme and improved support for handling file system synchronization.</p> | |
<h3>Improve serviceability</h3> | |
<p> Under some circumstances error messages that are only appropriate to eclipse developers are | |
being presented to users. While at other times errors can cause the environment to | |
unexpectedly terminate. The task here is to improve our exception handling and to | |
come up with an approach that is suitable both for eclipse developers and | |
eclipse based products.</p> | |
<p>See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12224">12224</a>, <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23369">23369</a>, | |
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1947">1947</a>, or the | |
newsgroup <a href="http://dev.eclipse.org/newslists/news.eclipse.tools/msg03734.html">http://dev.eclipse.org/newslists/news.eclipse.tools/msg03734.html</a></p> | |
<p>Involved components: Platform Core, SWT, Platform UI</p> | |
<h3>Make Eclipse a platform for developing more than an IDE</h3> | |
<p>There are two parts to this task, the first is to split out generally useful | |
frameworks like JFace and JFace Text into their own plugin the second is to | |
provide a stripped down workbench that can be the foundation for products that | |
are not IDE's.</p> | |
<p>Involved components: Platform UI</p> | |
<h3>Table Widget Scalability</h3> | |
<p>The existing SWT table widget is not well suited for presenting large data | |
models. Investigate if it is possible to achieve sufficient performance | |
from the existing widget. If it is not possible to achieve the desired | |
level of performance then a custom control should be developed.</p> | |
<p>Involved components: Platform UI, SWT</p> | |
<h3>Separate User Preferences from Workspace Preferences</h3> | |
<p>It should be possible to store user preferences that are not specific to a | |
workspace separate from the workspace. </p> | |
<p>Involved components: Platform Core, Platform UI</p> | |
</body> | |
</html> |