Node:Interactive ECB commands, Previous:ECB-window synchronizing, Up:Usage of ECB



Interactive ECB commands

ECB offers a lot of interactive commands. Some of these commands prompt the user in the minibuffer if called with a prefix argument.

Example: If ecb-clear-history is called with a prefix argument then you will be prompted in the minibuffer with:

Clear from history: [all, not-existing-buffers, existing-buffers]

You can choose one of the options enclosed in brackets with TAB-completion; hitting RET direct after the prompt chooses auto. the first offered option (in the example above "all").

Please note: The following interactive commands of ECB are listed without the prefix "ecb-" (e.g. the command ecb-activate is listed with name "activate"). This has been done for a better readable command index. See Command Index.

activate Command
Activates ECB and creates the special buffers for the choosen layout. For the layout see ecb-layout-name. This function raises always the ECB-frame if called from another frame. This is the same as calling ecb-minor-mode with a positive argument.

add-all-buffers-to-history Command
Add all current file-buffers to the history-buffer of ECB. If ecb-sort-history-items is not nil then afterwards the history is sorted alphabetically. Otherwise the most recently used buffers are on the top of the history and the seldom used buffers at the bottom.

change-layout &optional preselect-type Command
Select a layout-name from all current available layouts (TAB-completion is offered) and change the layout to the selected layout-name. If optional argument PRESELECT-TYPE is not nil then you can preselect a layout-type \(TAB-completion is offered too) and then you will be asked only for layouts of that preselected type. Note: This function works by changing the option ecb-layout-name but only for current Emacs-session.

clear-history &optional clearall Command
Clears the ECB history-buffer. If CLEARALL is nil then the behavior is defined in the option ecb-clear-history-behavior otherwise the user is prompted what buffers should be cleared from the history-buffer. For further explanation see ecb-clear-history-behavior.

create-new-layout Command
Start process for interactively creating a new ECB-layout (see Creating a new ECB-layout).

cycle-maximized-ecb-buffers Command
Cycles through all ecb-buffers of current layout by maximizing exactly one of the ecb-windows after every cycle-step.

cycle-through-compilation-buffers &optional choose-buffer Command
Cycle through all compilation buffers currently open and display them within the compilation window ecb-compile-window. If the currently opened buffer within the compilation window is not a compilation buffer, we jump to the first compilation buffer. If not we try to loop through all compilation buffers. If we hit the end we go back to the beginning.

If CHOOSE-BUFFER is not nil then the user will be prompted for the compilation-buffer to switch to.

deactivate Command
Deactivates the ECB and kills all ECB buffers and windows.

delete-new-layout Command
Select a layout-name for a layout created by ecb-create-new-layout and delete this layout. This means the layout-definition is removed from the file ecb-create-layout-file and the layout-function and associated aliases are unbound.

display-upgraded-options Command
Display a message-buffer which options have been upgraded or reset.

download-ecb Command
Download ECB from the ECB-website and install it. For this the option ecb-download-url must be set correct, whereas the default value of this option should always be correct.

If ecb-download-package-version-type is set to -1 (means asking for a version) then you will be ask in the minibuffer for the version to download. Otherwise ECB downloads autom. the latest version available for the type specified in ecb-download-package-version-type. If no newer version than the current one is available no download will be done.

For details about downloading and what requirements must be satisfied see function ecb-package-download and option ecb-download-package-version-type!

After successful downloading the new ECB will be installed in a subdirectory of ecb-download-install-parent-dir. After adding this subdirectory to load-path and restarting Emacs the new ECB version can be activated by ecb-activate.

If current running ECB is installed as regular XEmacs-package and not with the archive available at the ECB website then this function asks for proceeding!

download-semantic Command
Download semantic from the semantic-website and install it. For this the variable ecb-cedet-url must be set correct, whereas the default value of this variable should always be correct.

If ecb-download-package-version-type is set to -1 (means asking for a version) then you will be ask in the minibuffer for the version to download. Otherwise ECB downloads autom. the latest version available for the type specified in ecb-download-package-version-type. If no newer version than the current one is available no download will be done.

For details about downloading and what requirements must be satisfied see function ecb-package-download and option ecb-download-package-version-type!

After successful downloading the new semantic will be installed in a subdirectory of ecb-download-install-parent-dir. After adding this new subdirectory to load-path and restarting Emacs the new semantic version is loaded and is used after next start of ECB.

If current running semantic is installed as regular XEmacs-package and not with the archive available at the semantic website then this function asks for proceeding!

expand-methods-nodes &optional force-all Command
Set the expand level of the nodes in the ECB-methods-buffer.

This command asks in the minibuffer for an indentation level LEVEL. With this LEVEL you can precisely specify which level of nodes should be expanded. LEVEL means the indentation-level of the nodes.

A LEVEL value X means that all nodes with an indentation-level <= X are expanded and all other are collapsed. A negative LEVEL value means all visible nodes are collapsed.

Nodes which are not indented have indentation-level 0!

Which node-types are expanded (rsp. collapsed) by this command depends on the options ecb-methods-nodes-expand-spec and ecb-methods-nodes-collapse-spec! With optional argument FORCE-ALL all tokens will be expanded/collapsed regardless of the values of these options.

Examples:

  • LEVEL = 0 expands only nodes which have no indentation itself.
  • LEVEL = 2 expands nodes which are either not indented or indented indented once or twice
  • LEVEL ~ 10 should normally expand all nodes expect there are nodes which are indented deeper than 10.

Note 1: This command switches off auto. expanding of the method-buffer if ecb-expand-methods-switch-off-auto-expand is not nil. But it can be switched on again quickly with ecb-toggle-auto-expand-token-tree or [C-c . a].

Note 2: All this is only valid for file-types parsed by semantic. For other file types which are parsed by imenu or etags (see ecb-process-non-semantic-files) FORCE-ALL is always true!

eshell-current-buffer-sync Command
Synchronize the eshell with the directory of current source-buffer. This is only done if the eshell is currently visible in the compile-window of ECB and if either this function is called interactively or ecb-eshell-synchronize is not nil.

eshell-recenter Command
Recenter the eshell window so that the prompt is at the buffer-end.

expand-directory-nodes Command
Set the expand level of the nodes in the ECB-directories-buffer. For argument LEVEL see ecb-expand-methods-nodes.

Be aware that for deep structured paths and a lot of source-paths this command can last a long time - depending of machine- and disk-performance.

goto-window-compilation Command
Goto the ecb compilation window ecb-compile-window.

goto-window-directories Command
Make the ECB-directories window the current window. If ecb-use-speedbar-instead-native-tree-buffer is dir then goto to the speedbar-window.

goto-window-edit1 Command
Make the (first) edit-window window the current window.

goto-window-edit2 Command
Make the second edit-window (if available) window the current window.

goto-window-history Command
Make the ECB-history window the current window.

goto-window-methods Command
Make the ECB-methods window the current window. If ecb-use-speedbar-instead-native-tree-buffer is method then goto to the speedbar-window.

goto-window-sources Command
Make the ECB-sources window the current window. If ecb-use-speedbar-instead-native-tree-buffer is source then goto to the speedbar-window.

jde-display-class-at-point Command
Display in the ECB-methods-buffer the contents (methods, attributes etc...) of the class which contains the definition of the "thing" under point (this can be a variable-name, class-name, method-name, attribute-name). This function needs the same requirements to work as the method-completion feature of JDEE (see jde-complete)!. The source-file is searched first in jde-sourcepath, then in jde-global-classpath, then in $CLASSPATH, then in current-directory.

Works only for classes where the source-code (i.e. the *.java-file) is available.

maximize-window-directories Command
Maximize the ECB-directories-window, i.e. delete all other ECB-windows, so only one ECB-window and the edit-window(s) are visible (and maybe a compile-window). Works also if the ECB-directories-window is not visible in current layout.

maximize-window-sources Command
Maximize the ECB-sources-window, i.e. delete all other ECB-windows, so only one ECB-window and the edit-window(s) are visible (and maybe a compile-window). Works also if the ECB-sources-window is not visible in current layout.

maximize-window-methods Command
Maximize the ECB-methods-window, i.e. delete all other ECB-windows, so only one ECB-window and the edit-window(s) are visible (and maybe a compile-window). Works also if the ECB-methods-window is not visible in current layout.

maximize-window-history Command
Maximize the ECB-history-window, i.e. delete all other ECB-windows, so only one ECB-window and the edit-window(s) are visible (and maybe a compile-window). Works also if the ECB-history-window is not visible in current layout.

maximize-window-speedbar Command
Maximize the ECB-speedbar-window, i.e. delete all other ECB-windows, so only one ECB-window and the edit-window(s) are visible (and maybe a compile-window). Does nothing if the speedbar-window is not visible within the ECB-frame.

minor-mode &optional arg Command
Toggle ECB minor mode. With prefix argument ARG, turn on if positive, otherwise off. Return non-nil if the minor mode is enabled.

nav-goto-previous Command
Go backward in the navigation history-list, see Back/forward navigation.

nav-goto-next Command
Go forward in the navigation history-list, see Back/forward navigation.

rebuild-methods-buffer Command
Updates the methods buffer with the current buffer after deleting the complete previous parser-information, means no semantic-cache is used! Point must stay in an edit-window otherwise nothing is done. This method is merely needed for semantic parsed buffers if semantic parses not the whole buffer because it reaches a not parse-able code or for buffers not supported by semantic but by imenu or etags.

Examples when a call to this function can be necessary:

  • If an Elisp-file is parsed which contains in the middle a defun X where the closing ) is missing then semantic parses only until this defun X is reached and you will get an incomplete ECB-method buffer. In such a case you must complete the defun X and then call this function to completely reparse the Elisp-file and rebuild the ECB method buffer!
  • For not semantic supported buffers which can be parsed by imenu or etags (see ecb-process-non-semantic-files) because for these buffers there is no built-in auto-rebuild mechanism. For these buffers this command calls ecb-rebuild-methods-buffer-for-non-semantic.

redraw-layout Command
Redraw the ECB screen. If the variable ecb-redraw-layout-quickly is not nil then the redraw is done by the ecb-redraw-layout-quickly function, otherwise by ecb-redraw-layout-full. But it's strongly recommended to use the quick redraw only if you have really slow machines where a full redraw takes several seconds because the quick redraw is not really safe and may have some drawbacks! On normal machines the full drawback should be done in << 1s!

restore-default-window-sizes Command
Resets the sizes of the ECB windows to their default values.

restore-window-sizes Command
Sets the sizes of the ECB windows to their stored values. See option ecb-layout-window-sizes and command ecb-store-window-sizes.

show-help &optional format Command
Shows the online help of ECB either in Info or in HTML format depending of the value of ecb-show-help-format. If called with prefix argument, i.e. if FORMAT is not nil then the user is prompted to choose the format of the help (Info or HTML). If an error about not finding the needed help-file occurs please take a look at the options ecb-help-info-start-file and ecb-help-html-start-file!

Note: If you got ECB as a standard XEmacs-package maybe the HTML-online-documentation is not included.

show-layout-help Command
Select a name of a layout and shows the documentation of the associated layout-function. At least for the built-in layouts the documentation contains a picture of the outline of the chosen layout.

show-tip-of-the-day Command
Show tip of the day if ecb-tip-of-the-day is not nil or if called interactively.

store-window-sizes &optional fix Command
Stores the sizes of the ECB windows for the current layout. The size of the ECB windows will be set to their stored values when ecb-redraw-layout or ecb-restore-window-sizes is called. To reset the window sizes to their default values call ecb-restore-default-window-sizes. Please read also the documentation of ecb-layout-window-sizes!

The windows sizes are stored per default as fractions of current frame-width and -height of the ecb-frame, so the stored values will "work" for other frame sizes too. But if FIX is not nil (means called with a prefix argument) then the fixed values of current width and height are stored!

submit-problem-report Command
Submit a problem report for the ECB to the ECB mailing-list. This command generates in the edit-window a problem-report which contains already the current values of all ECB options, the current backtrace-buffer if there is any and the current message-buffer. You will be asked for a problem-report subject and then you must insert a description of the problem. Please describe the problem as detailed as possible!

toggle-auto-expand-token-tree &optional arg Command
Toggle auto expanding of the ECB-methods-buffer. With prefix argument ARG, make switch on if positive, otherwise switch off. If the effect is that auto-expanding is switched off then the current value of ecb-auto-expand-token-tree is saved so it can be used for the next switch on by this command.

toggle-compile-window &optional arg Command
Toggle the visibility of the compile-window of ECB. With prefix argument ARG, make visible if positive, otherwise invisible. The height of the compile-window is always the current saved (for future sessions) value of ecb-compile-window-height, i.e. this command can only display a compile-window if ecb-compile-window-height has such a saved value of not nil!

toggle-compile-window-height &optional arg Command
Toggle whether the ecb-compile-window is enlarged or not. If ARG > 0 then shrink or enlarge the the compile-window according to the value of ecb-enlarged-compilation-window-max-height. But never shrink below the value of ecb-compile-window-height. If ARG <= 0 then shrink ecb-compile-window to ecb-compile-window-height and if ARG is nil then toggle the enlarge-state.

toggle-ecb-windows &optional arg Command
Toggle visibility of the ECB-windows. With prefix argument ARG, make visible if positive, otherwise invisible. This has nothing to do with (de)activating ECB but only affects the visibility of the ECB windows. ECB minor mode remains active!

toggle-layout Command
Toggles between the layouts defined in ecb-toggle-layout-sequence (See also option ecb-show-sources-in-directories-buffer). Note: This function works by changing the options ecb-layout-name but only for current Emacs-session.

toggle-window-sync &optional arg Command
Toggle auto synchronizing of the ECB-windows. With prefix argument ARG, switch on if positive, otherwise switch off. If the effect is that auto-synchronizing is switched off then the current value of the option ecb-window-sync is saved so it can be used for the next switch on by this command. See also the option ecb-window-sync.

update-directories-buffer Command
Updates the ECB directories buffer.

upgrade-options Command
Check for all ECB-options if their current value is compatible to the defined type. If not upgrade it to the new type or reset it to the default-value of current ECB. Try also to upgrade renamed options. Displays all upgraded or reset options with their old (before the upgrade/reset) and new values.

window-sync Command
Synchronizes all special ECB-buffers with current buffer.

Depending on the contents of current buffer this command performs different synchronizing tasks but only if ECB is active and point stays in an edit-window.

  • If current buffer is a file-buffer then all special ECB-tree-buffers are synchronized with current buffer.
  • If current buffer is a dired-buffer then the directory- and the sources-tree-buffer are synchronized if visible

In addition to this the hooks in ecb-current-buffer-sync-hook run.

Most of these functions are also available via the menu "ECB" and also via the ECB key-map with prefix C-c . (see ecb-minor-mode for a complete list of the keybindings).