SlickEdit® Core gives you the ability to browse and view symbols in your files or workspaces. Symbol browsing relies on Context Tagging®, so symbols are updated immediately or in the background as you edit. There are several views that display information as you work to help you find what you need at exactly the time you need it:
See also Symbol Navigation for information about how to navigate between symbols in files.
The Class view, docked as a tab on the left side of the editor by default, provides an outline view of both the members of the current class as well as any visible inherited members. This view also shows the inheritance hierarchy of the current class. This is useful for object-oriented programming languages such as Java.
Display of the Class view can be toggled on/off by clicking Window → Show View → Other , then expand SlickEdit and select Class or by using the toggle_tbclass command. To display the view on demand, use the activate_tbclass command.

If you are coding within a class, the top pane (hierarchy pane) of the view shows the base class hierarchy for the current class. The bottom pane (members pane) shows all members of the current class, as well as all members visible from inherited superclass(es) and implemented interface(s). The name of the current class is displayed at the top of the view.
If you are not currently in a class (or enum or interface), the hierarchy pane is blank and the members pane shows the symbols in the current file. The name of the current file is displayed at the top of the view.
Hover the mouse over the bitmap of any item in the hierarchy or members panes to see a tool tip that shows the symbol's signature and scope.
To show or hide the hierarchy pane, use the two buttons located at the top-right of the view. If the hierarchy pane is hidden, the members pane is resized to take up the entire space of the window. Use the size bar to resize either pane.
Use the Up/Down buttons located to the left of the pane buttons to navigate up or down the class hierarchy. The Up arrow button will allow you to navigate to a child class (derived class or subclass) of the current class. The Down arrow allows you to navigate to a parent class (superclass or interface) of the current class. When using these buttons to navigate through code, the active buffer will switch to the destination class, and the hierarchy and members panes will update.
To jump to the definition of a class in the code, pushing a bookmark in the process, double-click on any member or class. Left-click or press Ctrl+Comma to go back.
Right-click on a class in the hierarchy pane to display a list of filtering options. You can exclude entire namespaces or packages, anything above a certain level in the hierarchy, and anything outside of the current workspace. You can always include any class(es) you have excluded via the "Include" options.
By excluding a class or interface in the hierarchy view, the members of this class or interface are no longer displayed in the members pane, but they are still visible in the hierarchy as gray text.
Select Show in Symbol Browser to jump to the class in the symbol browser.
The Class Exclusion Manager, accessed by right-clicking on a class in the hierarchy pane, displays a list of any currently excluded classes, interfaces, namespaces, and packages. Exclusions are kept on a per-workspace basis.

To add an item to the list, type the name in the Add Item To List text box, then press Enter. Click the buttons to remove selected items or to clear the list.
Right-click on a member in the members pane to access a list of filtering and sorting options as well as options for code navigation and modification. The following options are available:
Quick Refactoring - Offers two Quick Refactorings: Rename and Modify Parameter List. See Quick Refactoring for more information.
Add Member Function, Add Member Variable, and Add Virtual Function - (C/C++ only) When these options are selected for a class, you are prompted with a dialog to type a member function, member variable, or virtual function to be added into the source code at the top of the current class.
Organize imports - (Java only) Organizes import statements in Java files. See Organize Imports for more information.
Go to Tag - Moves the cursor to the selected tag. See Symbol Navigation for more information.
References - Brings the References view into focus, displaying the references for the symbol. See References View for more information.
Set Breakpoint - Sets a debugging breakpoint. See Setting Breakpoints for more information.
Show in Symbol Browser - Jumps to the member in the symbol browser. See Symbols View for more information.
Increase/Decrease Listed Members Limit - Controls the number of members displayed in the members pane. When this option is selected, the command line will prompt you for a variable value. The default is 400.
Sort Classes By Hierarchy and Sort Classes By Name - These options toggle the display of classes sorted either by hierarchy or alphabetically by name.
Sort Members By Line Number and Sort Members By Name - These options toggle the display of members sorted either by line number or alphabetically by name.
Organize Members By Class - Groups the members in the members pane by their class (or interface). When this option is selected, all "Sort" options are available. When this option is not selected, visible members in this pane will not be grouped at all. They will instead be displayed in one list, sorted by name.
Auto Expand All Top Level Classes - Expands all top level class nodes in the members pane whenever the current class changes. The default behavior is to only auto-expand the node of the current class.
Auto Expand All Structs/Enums/Inner Classes - Expands all struct, enum, and inner class nodes displayed in the members pane whenever the content is refreshed. By default this option is turned off, and these nodes are collapsed.
Quick Filters and Scope Filters - Quick filters allow you to display only certain items in the members pane, such as functions, prototypes, etc. Scope filters allow you to display members only in certain scopes, such as public or global, private, protected, etc.
The Outline View contains the defs (definitions) browser, which provides an outline view of symbols in the current file.
By default, the Outline View is docked as a tab on the right side of the editor. Display can be toggled on/off by clicking Window → Show View → Outline or by using the eclipse_show_outline command.

Hover the mouse over the bitmap of any symbol in the window to see a tool tip that shows the symbol's signature and scope.
To jump to the definition of the symbol in the code, pushing a bookmark in the process, double-click on any symbol. Press Ctrl+Comma to go back.
Right-click on any symbol in the Outline View to access the following options:
Quick Refactoring - Offers two Quick Refactorings: Rename and Modify Parameter List. See Quick Refactoring for more information.
Set Breakpoint - Sets a debugging breakpoint. See Setting Breakpoints for more information.
Sort by Function Name and Sort by Line Number - These options toggle the display of symbols sorted either alphabetically by function name or by line number.
Show Nesting - Organizes symbols by their scope within the current file. Clear this option to display all of the symbols in one flat list.
Show Statements - (C/C++, Java, Visual Basic only) This option controls the Statement Level Tagging feature. When selected, the view shows an outline of all statements in each function within the current file. This allows you to see a primitive function flowchart or to navigate to a specific statement within a function.
Display Files (disabled) - Displays the names of the files that are open in the editor. Clear this option to only show symbols in the current file, allowing you to use the window as a true outline view.
Auto Expand - Automatically expands all levels within the current file. If this option is cleared, you will need to click to expand items manually.
Expand All - Expands all symbols or levels in the current file.
Expand 1 Level - Expands everything one level below the current symbol.
Expand 2 Levels - Expands everything two levels below the current symbol.
Display Non-taggable Files - Displays files that are open in the editor that are not taggable, such as text files.
Properties - Displays the Symbol Properties View, showing the properties of the selected item, such as visibility, whether it's static or final, etc. Note that you cannot use this window to change the properties.
Arguments - Displays the return type and arguments for functions/methods in the Symbol Properties View.
References - Displays the list of references for the selected symbol, just as if you pressed Ctrl+/ in the editor window. See Symbol Navigation for more information.
Show Call Tree - Displays a tree of symbols used by the selected symbol, for example, other functions called by the current function. See Viewing Symbol Uses with the Calling Tree for more information.
Contents - Displays the following menu of save and print operations for the defs browser tree:
Save - Writes the items displayed in the defs browser to a text file, prompting you for a file name and directory location. The text file will then be displayed in the editor.
Print - Displays the Print dialog, where you can configure options for printing the tree.
Save Subtree and Print Subtree - These options function similarly to the above except they apply to the selected subtree.
Quick filters, Scope, Functions, Variables, Data Types, Statements, and Others - All of these items are for filtering the data displayed in the Outline view.
For XML, the Defs tool window can be customized to control how different elements are displayed. For more information see Outline View for XML.
The Find Symbol view (Search → Find Symbol or gui_push_tag command) is used to locate symbols in your code. It allows you to search for symbols by name using either a regular expression, Substring, or fast prefix match.
Searching for a symbol is faster than a normal text search because it is executed against the Context Tagging® database, rather than searching through your source files. Find Symbol also avoids false hits in comments or string literals. Though Syntax-Driven Searching in the regular Search Dialogs and Views provides this same capability, it cannot match the speed of Find Symbol.
See Find Symbol View for information about the options that are available on the view.
The Preview view provides a portal for viewing information in other files without having to open them in the editor. It automatically shows this information when you are working with certain features. See Information Displayed in the Preview Window for more information.
By default, the Preview window is docked as a tab at the bottom of the editor. Display can be toggled on/off by clicking Window → Show View → Other , then expand SlickEdit and select Preview or by using the toggle_preview command. To display the view on demand, use the activate_preview command.

The Preview view contains the following components:
Symbol list - This is the list of all symbols which are currently being previewed. In most cases, this is a single symbol. In some cases, such as for the symbol under the cursor, multiple matches are shown, such as the definition and declaration of a symbol. You can do a few things with the symbol list:
Hover the mouse over the bitmap of any item to see a tool tip that shows the symbol's signature and scope.
Click on any symbol to preview that specific symbol or it's comments.
Right-click to adjust symbol search filtering options.
Double-click to jump to a symbol. Press Ctrl+Comma to go back.
You can create key bindings for the preview_next and/or preview_prev commands in order to scroll through the items in the symbol list without using your mouse. See Creating Bindings for more information.
File and line label - Shows the file name and line number of the selected symbol.
Documentation comments pane - This pane displays any existing comments for the symbol that is selected in the symbol list. If the comments are in Javadoc or XMLdoc format, they will be formatted in HTML. You can single-click on hypertext links within the comments to follow the links, such as "See also" sections.
Editor preview window - Shows the contents of the actual source file at the line number of the selected symbol. Double-click to open the code in the editor. Right-click to adjust symbol search filtering options.
Size bars - Use the size bars to adjust the width of the symbol list and/or the height of the documentation comments area.
Buttons - The following buttons are found along the right edge of the Preview window:
Back and Forward - Allow you to navigate among the hypertext links that you have traversed in the documentation comments.
Go to definition - Opens the selected symbol in the editor.
Go to reference - Finds references to the selected symbol.
Show in symbol browser - Locates the selected symbol in the Symbols View.
Manage Tag Files - Opens the Context Tagging - Tag Files Dialog for building and maintaining tag files for indexing symbol information.
The table below describes what the Preview window displays under different circumstances.
|
Editor Element in Use |
Preview Window Display |
|---|---|
|
Any source file open in the editor |
The Preview window shows the definition or declaration of the symbol under the cursor, along with the symbol's documentation comments, if any exist. |
|
The Defs, Symbols, Class, Current Context, and Find Symbol views |
Single-click on a symbol and the Preview window displays the selected symbol and its documentation comments, if any exist. See Outline View, Symbols View, Class View, and Find Symbol View for more information. |
|
Call Tree dialog and References view |
The Preview window shows the location of the symbol references or use. |
|
The Base Classes and Derived Classes symbol browser dialogs |
Single-click on a symbol and the Preview window displays the selected symbol and its documentation comments, if any exist. See Symbols View for more information. |
|
The Search Results view |
Single-click on a line in the Search Results window and the Preview window displays the location of the selected search result. See Search Results Output for more information. |
|
List Members and Auto-Complete results |
Cursor up or down through the list of items in auto-complete or list-members results and the Preview window displays the location of the selected symbol and its documentation comments, if any exist. See List Members and Auto-Complete for more information. |
The References view displays the list of symbol references (uses) found the last time that you used the Go to Reference feature (Ctrl+/ or push_ref command (see Symbol Navigation for more information).
By default, the References window is docked as a tab at the bottom of the editor. Display can be toggled on/off by clicking Window → Show View → Other , then expand SlickEdit and select References or by using the toggle_refs command. To display the view on demand, use the activate_refs command.

The References view automatically comes into focus when you use the Go to Reference feature or when you select References from the right-click menu of the Class, Defs, or Symbols view.
Typically, you only want to view references that occur in project files, and not run-time libraries, which can be very large. For this reason, references are not generated automatically for run-time library tag files. If you want to view references that occur in a run-time library tag file, you need to generate references for the tag file. To do this, display the Context Tagging - Tag Files Dialog (Tools → Tag Files or gui_make_tags command), choose the tag file, right-click to display the context menu, and select Generate References. See Configuring Other Languages for more information.
The left pane displays a tree view of the files and locations that contain the symbol references. Hover the mouse over the bitmap of a symbol to see a tool tip that shows the symbol's signature and scope. To jump to the location of a symbol reference in the code, pushing a bookmark in the process, double-click on it. Press Ctrl+Comma to go back.
The right pane displays a preview of that location in the source. The number of instances found and the file name and line number are displayed at the top. Use the size bar to resize either pane.
Use the buttons located at the top right corner of the view to toggle the preview pane on and off. Because source can also be previewed in the Preview View, you may find it more efficient to use the References window with the preview pane off.
Right-click on a symbol or file in the left pane of the References window to display the following options:
Contents - Displays the following menu of save and print operations for the references browser tree:
Save - Writes the items displayed in the references browser to a text file, prompting you for a file name and directory location. The text file will then be displayed in the editor.
Print - Displays the Print dialog, where you can configure options for printing the tree.
Save Subtree and Print Subtree - These options function similarly to the above except they apply to the selected subtree.
Quick filters, Scope, Functions, Variables, Data Types, Statements, and Others - All of these items are for filtering the data displayed in the References view.
The Symbols view contains the symbol browser, which lists symbols from all of the tag files.
By default, the Symbols view is docked as a tab on the left side of the editor. Display can be toggled on/off by clicking Window → Show View → Other , then expand SlickEdit and select Symbols or by using the toggle_symbols command. To display the view on demand, use the activate_symbols command.

The top part of the window contains an option and combo boxes that are used for filtering. The bottom part of the window lists the symbols grouped by category. Symbols in your workspace are listed in the top group labeled "Workspace." The rest of the symbols are grouped by language or compiler.
Hover the mouse over the bitmap of a symbol to see a tool tip that shows the symbol's signature and scope. To jump to the definition of a symbol in the code, pushing a bookmark in the process, double-click on any symbol. Press Ctrl+Comma to go back.
The symbols listed in the symbol browser can be filtered using the Class and Member combo boxes. The Class combo box filters the items listed under the Classes folder. The Member combo box filters the items listed under any displayed classes or under any of the other folders, like Global Variables, Static Variables, Defines, etc. Enter multiple words in either combo box to search for items containing either word.
For example:
Enter person into the Class combo box to find all classes containing the word "person".
Enter person manager into the Member combo box to find all members, variables, etc. containing the word "person" or "manager".
The filters are case-sensitive, so be sure to type the values in the same case.
The items listed under the Classes folder are global classes that are not part of a namespace or package.
To clear the filters and see all items again, select the Show all tags option.
For non-object-oriented languages, use the Member combo box to search, since there are no classes. You can hide the combo boxes to save space by right-clicking and selecting Filters, then unchecking the corresponding check box.
Right-click on a symbol in the Symbols view to access the following additional filtering options as well as code management options:
Go to Definition - Moves the cursor to the symbol's definition (proc). See Symbol Navigation for more information.
Go to Declaration - Moves the cursor to the symbol's declaration (proto). See Symbol Navigation for more information.
Quick Refactoring - Offers two Quick Refactorings: Rename and Modify Parameter List. See Quick Refactoring for more information.
Organize imports - (Java only) Organizes import statements in Java files. See Organize Imports for more information.
Set Breakpoint - Sets a debugging breakpoint. See Setting Breakpoints for more information.
Find Tag - Searches for symbols and displays them in the symbol browser. Note that the Find Symbol view also provides this functionality.
Manage Tag Files - Displays the Context Tagging - Tag Files Dialog for use in managing your tag files.
Expand and Collapse options - Expands/collapses symbols as specified.
Sort by - Sorts symbols displayed by tag name, line number, or containers to top, which puts classes, structs, etc. at the top of the list.
Filters - Filter by class or member, or select Filtering Options to display the Symbol Browser Filter Options dialog. See Symbol Browser Filter Options for information on the available options.
Contents - Displays the following menu of save and print operations for the symbol browser tree:
Save - Writes the items displayed in the symbol browser to a text file, prompting you for a file name and directory location. The text file will then be displayed in the editor.
Print - Displays the Print dialog, where you can configure options for printing the tree.
Save Subtree and Print Subtree - These options function similarly to the above except they apply to the selected subtree.
Base Classes - Displays the Base Classes dialog, which shows a list of base classes for the selected class on the left with the list of that class's members on the right. Base classes are displayed in a tree view, allowing you to explore up the inheritance hierarchy. See Viewing Base and Derived Classes for more information. Note that the Class View provides this same functionality.
Derived Classes - Displays the Derived Classes dialog, which works the same as above but for derived classes. See Viewing Base and Derived Classes for more information.
Properties - Displays the Symbol Properties View, showing the properties of the selected item, such as visibility, whether it's static or final, etc. Note that this window is read-only, so you can't use it to change the properties.
Arguments - Displays the return type and arguments for functions/methods in the Symbol Properties View.
References - Displays the list of references for the selected symbol in the References View, just as if you pressed Ctrl+/ in the editor window. See Symbol Navigation for more information.
Calls/Uses - Displays a tree of symbols that are used by this symbol or called by this function. See Viewing Symbol Uses with the Calling Tree for more information.
View symbol uses to see what symbols (variables, functions, methods, classes, etc.) are used by a specific function or method.
To view the symbols that a particular function or method uses, first create a project or open an existing project. Then from the Symbols view, right-click on the desired function or method and select Calls or uses. The Symbol Uses/Calling Tree dialog will be displayed.
You can also access the Symbol Uses/Calling Tree from within the Outline View by right-clicking on a symbol and selecting Show Call Tree.

Right-click in this tree to display/modify the symbol filters. Items in the tree can be expanded to view uses recursively. Double-click or press the spacebar on an item in the tree list to go to an item. Double-click and Space are the same except when the item is a prototype that has a corresponding code section. Double-clicking will then go to the prototype's corresponding code section.
If the focus is in the Symbol Uses/Calling Tree dialog, the selected item will be shown in the Preview View view, just as it is in the Symbols View.
To see what classes are inherited by a particular class, right-click on the class in the Symbols view and select Base Classes. To see what classes are derived from a particular class, right-click on the class in the Symbols view and select Derived Classes. Both dialogs have the same interface.

The left pane of each dialog contains a tree showing the class inheritance hierarchy (the class list). The right pane shows a list of the members of the selected class (the member list).
If the focus is in the class list, the selected class will be displayed in the member list, if it can be resolved. If the focus is in the member list, the selected item will be shown in the Preview window, and is the name as it appears within the class definition.
To jump to the symbol in the code, pushing a bookmark in the process, double-click on a symbol in either pane. Press Ctrl+Comma to go back. Right-click on a symbol for filtering options.
To access symbol browser filter options, right-click in the Symbols view and click Filters → Filtering Options.

Each option has three states: If the option is selected, only the specified items will be displayed. If the option is cleared, the specified item will not be displayed. If the option is in a neutral state, the item will not be considered in the filter.
The following options are available:
Class Members
Public - When selected, public members are displayed.
Protected - When selected, protected members are displayed.
Private - When selected, private members are displayed.
Package - (Java only) When selected, package members are displayed. Java members have package scope if they do not specify public, protected, or private.
Inherited - When selected, only inherited members that this class can access are displayed. When cleared, only members of this class are displayed.
Preprocessed - When selected, only members expanded by pre-processing are displayed. This is specifically useful for MFC classes. When cleared, only non-preprocess members displayed.
Declarations
Template - (C++ only) When selected, only template classes are displayed. When cleared, only non-template classes are displayed.
Const - (C++ only) When selected, only methods which do not modify members (method1() const) are displayed. When cleared, only non-const methods are displayed.
Use the Symbol Properties View (right-click in the Symbols view and choose Arguments,or from the main menu click Window → Show View → Other , then expand SlickEdit and select Symbol Properties) to view other const information for declarations (for example, int const * const *pcpcvariable;).
Final - (Java only) When selected, only final members are displayed. When cleared, only non-final members are displayed.
Volatile - (C++ only) When selected, only volatile method members (method1() volatile) are displayed. When cleared, only non-volatile members are displayed.
Synchronized - (Java only) When selected, only synchronized members are displayed. When cleared, only non-synchronized members are displayed.
Extern - When selected, only identifiers defined explicitly using the extern keyword are displayed. When cleared, only identifiers defined which do not explicitly use the extern keyword are displayed.
Anonymous - When selected, only class names which are automatically generated by Context Tagging® are displayed. When cleared, only explicitly named classes are displayed.
Functions/Methods
Inline - When selected, inline functions or methods are displayed.
Constructors - When selected, constructors are displayed.
Operators - When selected, overloaded operators are displayed.
Abstract - When selected, only abstract methods are displayed. When cleared, only non-abstract methods are displayed.
Virtual - When selected, only virtual methods are displayed. When cleared, only non-virtual methods are displayed. All non-static Java methods are implicitly virtual.
Static (class methods) - When selected, only static methods are displayed. When cleared, only non-static methods are displayed.
Native - When selected, only methods explicitly defined with the native keyword are displayed. When cleared, only non-native methods are displayed.
Data Members
Show data only - When selected, only data members are displayed. When cleared, only methods are displayed.
Static (class data) - When selected, only static data members are displayed. When cleared, only non-static data members are displayed.
Transient - (Java only) When selected, only transient data members are displayed. When cleared, only non-transient data members are displayed.
Display or Hide
Class Filter - When selected, the class filter is displayed in the Symbols view.
Member Filter - When selected, the member filter is displayed in the Symbols view.
The Symbol Properties view displays detailed information (properties and arguments) for the symbol at the cursor location. Note that this window is read-only, so you can't use it to change the properties.
Display can be toggled on/off by clicking Window → Show View → Other , then expand SlickEdit and select Symbol Properties. To display the view on demand, right-click on a symbol in the Symbols view and select Properties or Arguments, or use the activate_tag_properties_toolbar command.
