Click here to Skip to main content
Click here to Skip to main content
 
Add your own
alternative version

Be Sweet - a set of visual source code browsers

, 1 Jul 2003
A set of source code and project browsers to compliment Visual Studio.
besweet-latest-greatest.zip
BeSweet-0.6.2
besweet-screen.jpg
ctags55
ctags.exe
dot-net-addin-experimental
AddIn.tlb
BeSweetDotNetAddin.dll
dte.tlh
install-screen-shot.jpg
MSADDNDR.tlh
MSO.tlh
ESBAddInSimulator.exe
ESBDSAddin.dll
ESBDSAddin.tlb
ESBServer.exe
ESBServer.ini
ESBServer.pdb
ESBServer.tlb
res
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
Copy of enum256.bmp
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
icon2.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline-icon-large.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
stlport_vc645.dll
besweet_061_src.zip
BeSweet_061_src
beswee-screen.jpg
EclipseStyleBrowsers.dsw
ESBDSAddin
ESBDSAddin.clw
ESBDSAddin.dsp
res
Commands.rgs
ESBDSAddin.rgs
TBarLrge.bmp
TBarMedm.bmp
src
ESBDSAddin.def
ESBDSAddinSimulator
src
ESBAddInSimulator.clw
ESBAddInSimulator.dsp
res
ESBAddInSimulator.ico
ESBDSAddin.rgs
ESBServer
bin
ctags55
ctags.exe
res
.cvsignore
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
Copy of enum256.bmp
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
icon2.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline-icon-large.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
doc
esbserver.proj
images
no_fields_a256.bmp
no_static_a256.bmp
outline.jpg
outlineProperties.jpg
public_only_a256.bmp
sort_a256.bmp
src
Controller
Browsers
ESBServer.clw
ESBServer.dsp
ESBServer.ini
ESBServer.rgs
ESBServerManager.rgs
ESBServerMgr.rgs
Model
CTags
MetaModel
Simulators
RemoteInterface
COM
Renderer
MFC
.#ESBServerCtrlPanel.cpp.1.20
3rdParty
OptionPage
Base
Browsers
.#ScopedNameBrowserRenderer.cpp.1.12
.#ScopedNameBrowserRenderer.h.1.12
Properties
res
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline-icon-large.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
prototype256.bmp
prototype_256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
Test
Utilities
bsuite_demo.zip
BeSweet_051
ctags54
ctags.exe
ESBDSAddin.dll
ESBDSAddin.exp
ESBDSAddin.tlb
ESBDSAddinSimulator.exe
ESBServer.exe
ESBServer.ini
ESBServer.ini.bak
ESBServer.pdb
ESBServer.tlb
regsvr32.trg
res
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
Copy of enum256.bmp
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
icon2.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
stlport_vc645.dll
bsuite_src.zip
EclipseStyleBrowsers
doc
images
architecture.jpg
hierarchybrowser.jpg
methodbrowser.jpg
outlinebrowser.jpg
overview.jpg
typebrowser.jpg
vsplugin.jpg
workspacebrowser.jpg
EclipseStyleBrowsers.dsw
ESBDSAddin
ESBDSAddin.dsp
res
Commands.rgs
ESBDSAddin.rgs
TBarLrge.bmp
TBarMedm.bmp
src
CVS
ESBDSAddin.def
ESBDSAddinSimulator
ESBDSAddinSimulator.clw
ESBDSAddinSimulator.dsp
res
ESBAddInSimulator.ico
src
ESBServer
bin
ctags54
ctags.exe
res
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
Copy of enum256.bmp
CVS
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
icon2.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
src
Controller
Browsers
CVS
CVS
CVS
ESBServer.clw
ESBServer.dsp
ESBServer.ini
ESBServer.rgs
ESBServerMgr.rgs
Model
CTags
CVS
CVS
MetaModel
CVS
Simulators
CVS
RemoteInterface
COM
CVS
CVS
Renderer
CVS
MFC
3rdParty
CVS
OptionPage
CVS
Base
CVS
Browsers
CVS
CVS
Properties
CVS
res
abstract256.bmp
class256.bmp
close_a256.bmp
close_f256.bmp
const256.bmp
Copy of enum256.bmp
CVS
enum256.bmp
ESBServer.ico
field256.bmp
function256.bmp
headerfile256.bmp
hierarchy.ico
icon2.ico
inherited_members_a256.bmp
inherited_members_f256.bmp
lock_hierarchy_a256.bmp
lock_hierarchy_f256.bmp
members_a256.bmp
method256.bmp
namespace256.bmp
no_fields_a256.bmp
no_field_f256.bmp
no_field_s256.bmp
no_public_a256.bmp
no_public_f256.bmp
no_public_s256.bmp
no_static_a256.bmp
no_static_f256.bmp
no_static_s256.bmp
outline-icon-large.bmp
outline.ico
outline256.bmp
overwriten256.bmp
packages_a256.bmp
package_browser.ico
previous_hierarchies_a256.bmp
previous_hierarchies_f256.bmp
private256.bmp
private_field256.bmp
private_method256.bmp
problem256.bmp
problem_256.bmp
protected256.bmp
protected_field256.bmp
protected_method256.bmp
public256.bmp
public_field256.bmp
public_method256.bmp
public_only_a256.bmp
public_only__f256.bmp
public__only_s256.bmp
questionmark256.bmp
questionmark_256.bmp
selection_arrow256.bmp
sort_a256.bmp
sort_f256.bmp
sort_s256.bmp
sourcefile256.bmp
static256.bmp
struct256.bmp
subtype_hierarchy_a256.bmp
subtype_hierarchy_f256.bmp
supertype_hierarchy_a256.bmp
supertype_hierarchy_f256.bmp
typebrowser.ico
typedef256.bmp
types_a256.bmp
type_hierarchy_a256.bmp
type_hierarchy_f256.bmp
union256.bmp
variable256.bmp
virtual256.bmp
workspace.ico
workspace256.bmp
Test
CVS
Utilities
CVS
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="cider101">
</head>

<body>

<!--#include virtual="/cgi-bin/logger"--> 

<table>
<tr>
<td align="left", valign="top", bgcolor="#0099CC", nowrap>
<table>
	<tr>
	<td nowrap>&nbsp;&nbsp;</td>
	<td nowrap>
		<br><b>Overview</b>
		<li><a href="index.html">What is it ?</a></li>
		<li><a href="overview.html">Overview</a></li><br>
		
		<br><b>Downloads</b>
		&nbsp;&nbsp;<li><a href="http://prdownloads.sourceforge.net/esbrowsers/ESB-v0.5.0.zip?download">latest version</a></li><br><br>
		<b>Bugs & Features</b>
		<li><a href="https://sourceforge.net/tracker/?group_id=66084&atid=513276">Need Help ?</a></li>
		<li><a href="https://sourceforge.net/tracker/?group_id=66084&atid=513275">Report a bug&nbsp</a></li>
		<li><a href="https://sourceforge.net/tracker/?atid=513278&group_id=66084&func=browse">Request a feature</a></li><br><br>
		<a href="https://sourceforge.net/projects/esbrowsers/"><b>Project Page</b></a><br>
	</td>
	<td>&nbsp;&nbsp;</td>
	</tr>
</table>
</td>

<td>
<h1>Introduction</h1>
<p>If you ever worked with SniFF+, IBM�s VisualAge or its successor Eclipse/JDT you get used to some features that are hard to miss if you have to change the IDE. I.E VisualAge provides excellent visual class browsers and SniFF+ has the most advanced source code browsers I�ve seen yet. Although Visual Studio provides a visual class browser, it�s absolutely unusable because it�s only updated on a compiler run, doesn�t show inheritance and last but no least shows all classes of the project in a single tree (uuhhm� very funny to search for a class within 300 other classes). Or you know there is class FooManager uuhhm or is it named FooMgr and hell, in which file does it reside ?� while VisualAge/Eclipse provides a very nice class browser which lets you search a class by its name with simple regular expressions, you are completely left on your memory with VS.<p>

<p>While some of the missing features can be �upgraded� by installing some 3rd party addins (like VisualAssist or WorkspaceWhizz) none of them satisfied all my needs. So after complaining and moaning around for almost a year, I decided to start my own little project, the "Be Sweet" project. 

<p> This leaves only one remaining point for the introduction... how comes the name.<br>
Well, when I initially started the project, it was named "Eclipse Style Browsers". While, technically speaking, this would have been the correct name, it's quite long, isn't it ? So, then I was thinking about Browser-Suite which then turned into B-Suite and that sounds like "Be Sweet" ;) and in deed, it's sweet to have them ;)

<h2>Architecture</h2>
<p>When I started the project, I had to decide to either fully integrate the browsers inside Visual Studio or to build an external  application. After reading a couple of articles about how to integrate custom-apps into VS on www.codeproject.com and www.codeguru.com,  I decided to build an external client server application based on the following reasons. First, I wanted to concentrate my effort on the fun part and reading those articles, integrating an app into VS didn�t sound like fun. Second, which is IMO the much more important reason, if the external app crashes it won�t crash VS as well !

<table width="100%" cellspacing="20">
<tr><td align="center"><img src="images/architecture.jpg" border="0" alt="architecture"></td></tr>
</table>

<p>As mentioned above, the system is designed with a client-server architecture, where the client is implemented as a Visual Studio Addin and interacts with the server via COM. The server�s architecture is a very traditional MVC pattern. Not all of the blocks above are currently implemented, i.e. there are no QT-Renderers


<h2>Implementation</h2>
Although there isn�t/wasn�t any need for multi platform support, I tried to avoid too many platform specific dependencies. STL is used where ever possible , MFC is strictly used in the renderers only and the COM interface implementation is completely encapsulated in it�s own module. That said, the effort to port it to another platform shouldn�t be too big.

<h1>Overview</h1>
Currently, there are 5 different kind of browser implemented.
<ul>
<li><a href="#OutlineBrowser"><b>Outline Browser</b></a> shows the outline of a selected file</li>
<li><a href="#HierachyBrowser"><b>Hierarchy Browser</b></a> shows the hierarchy of a selected type</li>
<li><a href="#TypeBrowser"><b>Type Browser</b></a> enables the search for types by using regular expressions and lets you jump to the declaration</li>
<li><a href="#MethodBrowser"><b>Method Browser</b></a> same as the type browser but for functions & methods</li>
<li><a href="#FileBrowser"><b>Workspace/File Browser</b></a> same as the type browser but for files in the workspace</li>
</ul>

All browsers have an auto-raise feature. They can be brought to foreground by hovering the mouse over them (without any mouse click) and when the mouse leaves the dialog, it disappears into the background while Visual Studio is brought to foreground instead. It needs  some time to get used to that feature, but it's very handy once you are used to it. I sometimes catch my self, holding the mouse over MsWord wondering why it doesn't come to foreground ;) 

<p>It's <b>IMPORTANT</b> to note that you must specify a corner that is used as measure point to determine the window currently (partially) covering the browser. By default this is the top-right corner but can be adjusted in the  preferences. Therefore you should place the browser at the left edge of your screen to make the auto-raise work properly.

<p>Oh yeah, all browsers are resizable of course.

<a name="OutlineBrowser"><h2>The Outline Browser</h2></a>
<p>This is probably the most used browser while working; well at least in my case. It displays the content of the active Visual Studio editor. It's updated every time you switch to another file or if save your changes.

<table border="0" width="100%"><tr><td align="center"><img src="images/outlinebrowser.jpg" border="0" alt="Outline Browser"></td></tr></table>

<p>The mouse behavior is context sensitive. Clicking onto a class/struct will open an editor containing the declaration of the class (usually this will be a header file) and the declaration line is highlighted. If you left click on a method or function, the editor containing the definition (implementation) will be opened at the appropriate position and if you right click on that same method/function the appropriate declaration will be opened. The middle button will popup a little menu, allowing you to switch to the header, source or displaying the hierarchy of the selected class/struct/union.

<p>If the outline browser was brought to foreground by it's auto-raise-feature, you can move the mouse back into the Visual Studio (the outline browsers will then automatically disappear). The editor will automatically get the focus so you just can start typing without the need to activate/focus any window manually by any mouse click!

<a name="HierachyBrowser"><h2>The Hierarchy Browser</h2></a>

<p> This view shows the hierarchy of a type. The Type Hierarchy view consists of two panes: 
<ul>
<li>Type Hierarchy tree pane
<li>Member list pane</li>
</ul>

<p>
The view can be adjusted to show the type in it's full context(i.e. subclasses and superclasses). If the type has multiple super classes, only the longest "super-path" will be displayed. It can be set to show the super types only (be aware the the hierachy-tree is displayed upside down) and last but not least the view can be restricted to show sub-types only.

<p>
<table border="0" width="100%"><tr><td align="center"><img src="images/hierarchybrowser.jpg" border="0" alt="Hierarchy Browser"></td></tr></table>

<p> The member list pane displays the members of the currently selected type in the type hierarchy tree pane. It can be adjusted to show "own" members only or to show inherited methods and fields also.

<h2>The Tag Browsers</h2>
<p>What shall I say about them ? Well, they are quite handy if you are looking for something, but can't remember the
full name or it's location, i.e. was that type named TextHandler or TextManager or TextMgr ?. All tag browsers provide an incremental search and support simple regular expressions (sorry, the "?" doesn't work yet)

<table border="0" summary="">
	<tr>
		<td><img src="images/typebrowser.jpg" border="0"  alt="Type Browser"></td>
		<td><img src="images/methodbrowser.jpg" border="0"  alt="Method Browser"></td>
		<td><img src="images/workspacebrowser.jpg" border="0" alt="Workspace Browser"></td>
	</tr>
	<tr>
		<td align="center"><a name="TypeBrowser"></a><b>Type Browser</b></td>
		<td align="center"><a name="MethodBrowser"></a><b>Method/Function Browser</b></td>
		<td align="center"><a name="FileBrowser"></a><b>Workspace Browser</b></td>
	</tr>
</table>

<h2>The Visual Studio AddIn</h2>
<p>The addin is one of the two main parts of the system and implements the role of the BeSweet client. It it's registered to several Visual-Studio-events and triggers the appropriate action on the server, i.e. loads the workspace if you open a new workspace or triggers a reparse of a source file if that file has been modified.

<table width="100%" cellspacing="20">
<tr><td align="center"><img src="images/vsplugin.jpg" border="0" width="125" height="52" alt="visual studio tool bar"></td></tr>
</table>

<p>By default the plugin is disabled, meaning it doesn't interact with the BeSweet server. Press the first button in the toolbar to enable it.

<p>For your convenience, Hot-Keys can be bound via Tools->Customize->Keyboard->Add-In. All commands start with "ESB", i.e. ESBShowTypeBrowser which would bring the type browser to foreground.

<h1>Installation</h1>
Installation is very easy. 
<ol>
  <li>Unzip the package into a folder of your choice</li>
  <li>In the ini-file ESBServer.ini, adapt the property "ctags.exe=c:/path/to/ctags.exe" to the location you unzipped the package into.</li>
  <li>Register/Load the Visual Studio Addin via Tools->Customize->Macros and Add-Ins</li>
  <li>Customize the key-binding i.e. I personally use Alt-T to popup the <a href="#TypeBrowser">Type  Browser</a>, Alt-O for the <a href="#OutlineBrowser">Outline Browser</a> etc..</li>
</ol>

<h1>Howto Build</h1>
It's not possible to build BeSweet with the default STL shipped with VC++ 6.0. The reason is, that the VC-STL is based on
a pre standard (i think before 1998) and is therefore missing some (important) features. To build the project, any recent STL implementation should work. I personally use <a href="http://www.stlport.org/">STLPort 4.5.3</a> which is based on the original SGI implementation and can be freely donwloaded <a href="http://www.stlport.org/archive/STLport-4.5.3.zip">here</a>.

<h1>Planed Features</h1>
<ul>
  <li>Support for multiple instances of Visual Studio</li>
  <li>Package Browser</li>
  <li>Parse included header files which are not part of the project</li>
</ul>

<h1>Bugs & Limitations</h1>
<ul>
  <li>Although it already works quite smooth, there are still a lot of bugs waiting to be fixed.</li>
  <li>The project setup must follow some (too restrictive) rules, i.e. header and source files must be placed in the same directory to get some (optional features) working</li>
  <li>Header files which are found by the compiler via the include path are not parsed (see also Planed Features)</li>
  <li>Anonymous enum declarations do not work (i.e. typedef enum {e1, e2} MyEnum; )</li>
  <li>The editor is always opened in the first instance of VS if multiple instances are running</li>
</ul>

<h1>Todo</h1>
<ul>
  <li>Everything in the Bugs & Limitation section</li>
  <li>Some parts in the code are a real mess, which need to be cleaned up.</li>
  <li>Minimize memory footprint</li>
  <li>Replace some utility-classes with their boost (www.boost.org) counterpart.</li>
  <li>Some of the icons could need a face lift</li>
</ul>

<h1>Credits & Thanks To</h1>
<ul>
	<li> Darren Hiebert for his ctags parser... the enabling part of this project!</li>
	<li> Davide Calabro for his excellent flat-style bitmap button class CButtonST</li>
	<li> Richard Hazlewood for his formidable multi selection tree control CMultiTree</li>
	<li> Andy Brown for providing his easy CDynamicDialog class </li>
	<li> Chris Maunder and his CSystemTray class </li>
</ul>

</td></tr></table>

<hr>

<table>
<tr><td><A href="http://esbrowsers.sourceforge.net">Be Sweet</a> is hosted at &nbsp</td>
<td align="left"><A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=66084&amp;type=5" border="0" alt="SourceForge.net Logo" width="88" height="31"></A></td></tr>
</table>

Last update: <!--#flastmod file="index.html" -->
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

cider1

Switzerland Switzerland
No Biography provided

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141223.1 | Last Updated 2 Jul 2003
Article Copyright 2003 by cider1
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid