Code Fusion X: Enhanced Developement Environment.
The following is a list of new features or enhancements to existing feature
which would help Code Fusion become a premire developement environment
for native developers. This list is not inclusive, please feel free
to add to it (see end of document for contact information).
Editor:
Static source code highlighting.
Dynamic source code highlighting (On the
fly).
Handling of tab spaces.
Enhanced brace matching.
Symbol completion.
Show white space feature.
Source Code Comprehension:
Java packages support.
Namespaces support.
C++ template support.
Enhanced object oriented bowsering tool.
Perl parser.
IDE features:
Integrated Project Editor,
Target Manager and Target Editor in Symbol browser.
Support for sub targets and complex builds.
Build tree mirrowing source tree structure.
Per file compiler settings.
Enhanced Java support.
Enhanced versioning control interface.
Automatic ChangeLog entry generation.
More Tool Chains supported (Note: is a Code Fusion 1.1 requirement)
Intergrate the Build/Make Window into main editor/browser Window.
Export Makefile.am.
GUI:
Better tool bar support.
Preferences dialog make over.
Misc.:
Stand alone editor.
Better reuse/context checkbox solutions.
Upgrade Manager.
Developement focus and support aids:
SNUG email list (Source Navigator User Group).
Code Fusion focus groups.
Competitor evaluation.
Static source code highlighting.
This does not work well in every case.
TODO: specific examples of where it fails.
Dynamic source code highlighting.
This only was for a sub set of syntax which static source code highlighting
can highlight.
TODO: specific list of unsupported syntax and examples.
Handling of tab spaces.
Source Navigator fails to consistanty honor the tab settings which the
user can select in the preferences dialog. For example, if the user
has selected "tabs to spaces", auto indent will still use tab space instead
of spaces.
Enhanced brace matching.
Source Navigator does have basic 'on the fly' brace match abilities.
These could do with much enhancement to help users resolve unmatch braces
in source code projects.
Symbol completion.
Once the user has started typing a symbol, for example, a function call
starting with foo, symbol completion will help them quick find the
symbol they desire, in this case it may list symbols such as foo_bar, foo_class,
foo_bar_big_long_function_name_nobody_wants_to_type_out, then user can
the select the symbol without having to type out the whole symbol name.
Show White spaces feature.
This would allow you the user to toggle where white spaces (spaces, tabs,
return charactors) where displayed as WYSIWUG or repersented by a set of
symbols (usually, small dot, right arrow and return arow).
Enhanced object oriented bowsering tool.
Although $PRODUCT_NAME does have OO related browsing features, such as
the class browser and hierachy browser, many engineers seem to need a more
powerful OO visualization tool. A good place to start for generating
the requirements for such a tool would be Benjamin Kosnik <bkoz@cygnus.com>.
IDE features:
Integrated Project Editor, Target
Manager and Target Editor in Symbol browser.
Combining IDE feature with project creation and management tool will help
the user to have easier access to the Code Fusion functionality.
At the moment (Code Fusion 1.0) the IDE features are "bolted on", the user
has to hunt for them in a menu, it is unlikely the user will fine these
features/tool with great easy, unless reading the documentation or have
the feature demostrated.
TODO: Proposel and Screen shots of the planned intergration.
Misc.:
Upgrade Manager.
An upgrade manager would allow Code Fusion to be upgrade safely via binary
patches (simply replacing .tob files). The Upgrade Manager would
normally be invisable to the user, only when there is something wrong with
an binary patch will the Upgrade Manager notify the user that they need
other upgrades. For example, a user downloads and installs a new
V1.1 sninit.tob to
fix bug A, how ever V1.1 sninit.tob also fixes bug C and requires V2.3
of multimake.tob, the upgrade manager would notify the user that they have
to (or it's recommended to) download the latest version of multimake.tob.
Currently we can supply binary patches in the form of .tob files, but if
something goes wrong (i.e. the user installs the wrong version or gets
the new and old files mixed up) the only thing that can be done is reinstall
the product.
Contact information: Please feel free to contact me (irox@cygnus.com)
or sn-project@cygnus.com
with any questions or comments regarding this document. Spelling
and grammar correction welcome.