Automating Tasks

Keystroke Macros

Recording Keystroke Macros

Keystroke Recording allows you to record a series of key-presses that will accomplish a specific task. The recorded keystrokes are then saved as a keystroke macro, which can be “played-back” with a single key assignment.

You can control Caps, Numlock, and Insert for each keystroke. In addition, there is control over the timing of the keystrokes.

An Example Keystroke Macro

Keystroke macros are designed to make your work easier and faster by allowing you to cut down on repetitive actions. Let us consider the following example:

Suppose you write letters often, and every time you begin one you enter the same basic information such as your company name, company address and a salutation. One way to save time is to create a file that contains this header information and splice it into each new letter you create. To do this you would create a file containing the header information, save it to disk, and then use the Merge File From Disk option from the File Menu. This makes things a bit faster, but creating a keystroke macro would allow you to complete the whole process in one keystroke.

To begin keystroke recording, press the Record key 'Alt+F10' or use Macro | Record. You may also click on the REC portion of the status bar. Notice the REC on the status bar appears red. This alerts you that all keystrokes will be recorded until you press the Record key again to stop. The following keystrokes would be required to accomplish the file splicing:

<ALT>      brings up the Main Menu
<F>        selects the File Menu
<M>        selects Merge
<header>   type in the name of file to load
<ENTER>

To end keystroke recording, press the Record key again. Once recording is terminated, a dialog box will pop up asking you whether this keystroke macro is temporary (Current session only) or permanent (Save permanent). If you select temporary, you will be prompted for a keystroke to assign to that macro. A temporary macro is only active during the current session and is NOT saved when you exit Multi-Edit. If you select permanent, the Keystroke Macro Manager is automatically invoked and the Editing Recorded Macro dialog box will appear on screen.

To find a suitable free key to assign to a keystroke macro there is a user written macro, which will list all unassigned keys. See List Unassigned Keys in the User Created Macros forum of the Multi-Edit web site (www.multieditsoftware.com/forums). This utility is also included in the EDX. Smooth Scroll, Scroll Margins, much more! add-on in the User Created Macros forum.

Keystroke Macros Manager

See the section titled Recording Keystroke Macros for details on recording a keystroke macro.

Selecting Macro | Recorded Macros will open the Recorded Macro Manager which is a powerful dialog box that allows you to launch a keystroke macro that you previously recorded, create a keystroke macro, edit one, delete one, or copy one. You can even use this command to run a keystroke macro without first assigning any key to it (this feature is very helpful if you forget what key is assigned to a keystroke macro or if you run out of key assignments).

While you may use the 'Insert' command button to create a keystroke macro from scratch, you will usually want to create a keystroke macro by recording. See the section titled Recording Keystroke Macros above for details.

When you activate the Keystroke Macro Manager, a standard Multi-Edit list box will appear with a list of your currently recorded macros. Both permanent and temporary macros recorded during this session will be displayed. To play a macro, select it from the list and press the Playback button.

Press the 'Edit' or 'Insert' command button to display the Editing Recorded Macro dialog box:

Description

Enter a description of a Keystroke Macro's function so you will remember what it does.

Key Assignment

Shows you the current key assignment for the macro, and allows you to change that key assignment. To change the key assignment, select the button to the right of the field. Another dialog box will ask you to “Press Key to Assign”. At this point, assign the macro by pressing the desired key or key combination.

Multi-Edit has a means to resolve conflicts that arise from giving a key assignment to a keystroke macro that is already being used. If this should happen, you will see a series of dialog boxes that will help you correct the conflict.

Edit Keystrokes

This dialog box allows you to alter the keystrokes that make up a keystroke macro. Multi-Edit monitors both key pressed and key released states, so your keystroke macro listings will reflect this. For example, entering an exclamation point in your keystroke macro (Shift 1) will appear as three separate lines in the edit keystrokes dialog:

Key down Shift
Key down Shift + 1 
Key up    Shift

You need to keep this in mind when you edit the keystrokes in your macros.

Repeat A Key n Times

Edit | Repeat or 'Ctrl+R' allows you to repeat a single keystroke (whether assigned to a command or not) many times in succession. Here is how the Repeat command works:

• Select Repeat - a message appears on the Status/Message Line prompting you to enter a number.
• Type the number of times you want the keystroke to repeat.
• Type the desired keystroke. The keystroke will be performed the number of times you have indicated.

If you type 0 (zero) for the number of times you would like the keystroke to repeat, Multi-Edit will repeat that keystroke until the cursor reaches the End of File marker. You should ensure that the keystroke you enter would cause the cursor to reach the End of File marker. If, by mistake, the Repeat command becomes stuck in an infinite loop (will never reach the end of the file), use 'Ctrl+Break' to terminate the macro.

Compiled Macros

A Brief Intro To CMac

Have you encountered a situation where a regular expression search and replace just won't cut it, or user input is required, or perhaps keystroke macros are just not offering the complexity you need? Well, then it is time to look at Multi-Edit's CMac language.

CMac is a powerful C-like structured language that offers local and global variables, pre-processing directives, screen, keyboard, mouse and hardware access, DLL import capabilities, and much more. You can see its power and flexibility by using Multi-Edit, as the majority of Multi-Edit's features and functionality were created using the CMac language.

For an in-depth view into the CMac language, please refer to the online CMac Reference Guide which is provided with Multi-Edit and can be viewed by selecting Help | CMac Language from the main menu. The reference guide may alternatively be displayed by using the 'Ctrl+F1' key command while editing a CMac file (.s or .sh extension).

You may also want to visit our website periodically (www.multieditsoftware.com) for the latest CMac information and tutorials.

The CMac compiler, help, and macro source code for Multi-Edit are not installed by default. You must select the appropriate checkboxes when you install Multi-Edit.

If the cursor is under a CMac keyword when the 'Ctrl+F1' key command is used, the reference guide will automatically display help on that keyword. You may also right click on a CMac keyword and select “Extension Specific Help” to get help on that keyword.

For an alternate explanation of Multi-Edit CMac, see the Introduction to CMac series in the User Created Macros forum of the Multi-Edit web site (www.multieditsoftware.com)

Also see the CMac User Guide available for purchase from the Multi-Edit web site under Products.

Language Features

Match Constructs

Multi-Edit provides construct matching for most of the languages it supports. Construct matching is the ability to find the open/closing characters or keywords that encapsulate classes, conditions, scope, etc. Using this feature is as simple as placing the cursor on a construct and hitting the key assigned to the Match Language Construct command ('CTRL+F9' in the default keymap) or selecting the Tools | Match Language Structure menu entry. The cursor will move to the matching construct when one is found. If the start and end points both fit in the window it will briefly highlight the whole range.

For example, position your cursor on an opening parenthesis ”(”, press 'Ctrl+F9', and the cursor will find the matching closing parenthesis ”)”, taking into account all nested parentheses, skipping over any parentheses that are inside comments and hence don't count. You can also search for matching brackets { } and [ ] if your language uses them.

You can also search for matching keywords, such as IF…ENDIF, LOOP…END LOOP, BEGIN…END, CASE…END CASE, #IFDEF…#ENDIF, DO…WHILE, RECORD…END RECORD, REPEAT…UNTIL, SELECT CASE…END SELECT, FUNCTION…END FUNCTION, MODULE…ENDMODULE. The particular keywords and symbols supported depend on the language.

Multi-Edit 2008 supports construct matching for most languages. Support for new languages can be added by following the instructions in the Adding Language Support section of this manual. If the language setup for the current extension does not support this feature, then the “NOT Supported for this extension” message will be shown on the status line.

Multi-Edit can also highlight matching constructs as you type. This can be enabled or disabled by going to Tools | Customize | General | Languages, select your language and click ‘Edit’, then in the resulting Language Setup dialog click ‘Formatting/Config’ in the lower right.

Construct matching is language dependent and accomplished through a macro that is defined in the Language Setup dialog.

Indent Style

For most languages the use of indenting is ignored by the compiler and is used mainly to help the programmer understand the flow and grouping of code. Although there are a few languages such as Python where indenting is a requirement of the language. Since Multi-Edit has support for multiple languages, it also supports multiple indent styles. These are set up, as most of the language support, via the Filename Extension Setup dialog (Tools | Customize | General | Filename Extensions).

Since Multi-Edit tries to format the code as it is being entered, the Indent Style setting comes into play when the Enter key is hit. Where the cursor is positioned on the following line depends upon the setting of the Indent Style as well as the language being used. Setting the Indent Style for a file is done by going to Tools | Customize | General | Filename Extensions, select a file extension, and click ‘Edit’ to get the Edit Filename Extension Setup dialog. There you will find three Indent Style radio buttons:

Off: The Off Indent Style option, when enabled, causes the cursor to always be positioned in column 1 of the following line. This option is useful when no indenting is desired such as for documentation or text files.
Auto: The Auto Indent Style option, when enabled, causes the cursor to be indented so that it will line up under the first word of the current line. This is useful for quickly creating columns of text, or for entering code that is to be indented but no extended language support currently exists for it.
Smart: The Smart Indent Style option will cause the cursor position to be positioned based upon the context of the code. Most of the major languages have support macros that include smart indenting. When this option is selected, , The Enter key will cause the specific language Indent macro to be called, which analyzes the code context and then positions the cursor to the correct column based upon the context and the other property settings. The Auto Adjust features are activated when the appropriate key is entered or the Enter key is used. You can often choose what style of smart indenting you want by going to Tools | Customize | General | Languages, select the appropriate language and click ‘Edit’, then click the ‘Formatting/Config’ button in the lower right corner. This usually brings up a language specific Properties Setup dialog, which may include an Indent Style option you can set.

Smart Indenting is currently supported for most languages. You can tell if a language supports Smart Indenting by going to Tools | Customize | General | Languages, select the appropriate language and click ‘Edit’. In the resulting Language Support dialog, look in the Macros section (right hand side) for an entry in the Indent: field. This is where the Smart Indent macro is listed. If there's an entry there, then Smart Indenting is supported for that language. Support for new languages can be added by following the instructions in the Adding Language Support section of this manual.

Construct matching is language dependent and accomplished through a macro that is defined in the Language Setup dialog.

Aligning Operators

The Align Operators menu item (under Edit | Block Operations) aligns the first operator (based on the language being used which is defined in the filename extension setup) on the first line of a marked block, with the same operators found within that marked block. The indent level is determined by the operator with the greatest indent level.

The following examples highlight how this operation works.

Take, for instance, the following code snippet:

.    case 3:
.      TStr1  = "One" + "Alpha";     .
.      TStr2   = "Two" + "Beta";     .
.      TStr3 = "Three" + "Charlie";  .
.      TStr4= "Four" + "Delta";      .
       break;

Using Align Operators would produce the following result:

     case 3:
       TStr1    = "One" + "Alpha";
       TStr2    = "Two" + "Beta";
       TStr3    = "Three" + "Charlie";
       TStr4    = "Four" + "Delta";
       break;

If multiple operators exist on one line, columnar marking can be used to determine which operator to align to.

For example, highlighting the '+' with a columnar block as below:

     case 3:
       TStr1    = "One" + "Alpha";
       TStr2    = "Two" + "Beta";
       TStr3    = "Three" + "Charlie";
       TStr4    = "Four".+ "Delta";
       break;

will produce the following when Align Operators is used:

     case 3:
       TStr1    = "One"   + "Alpha";
       TStr2    = "Two"   + "Beta";
       TStr3    = "Three" + "Charlie";
       TStr4    = "Four"  + "Delta";
       break;

Commenting

The Comment/Uncomment feature (available from the Tools Menu) has several functions built into one command. Which function gets performed depends on how you use the features. There are four methods of using the comment/uncomment command. Each method has two different behaviors depending on the conditions when using the feature.

Method 1 – No block marked: If you invoke the comment/uncomment command when no block is marked, Multi-Edit will comment out the line that the cursor is sitting on. If that line has already been commented out, it will uncomment that line.

Method 2 – Line block marked: When a line block is marked and you invoke the comment/uncomment feature, Multi-Edit will comment out the marked lines much the way it does with Method 1. Again, if the marked lines are already commented, it will uncomment them.

Multi-Edit cannot “reverse” comment. Thus you cannot comment one line and uncomment another at the same time.

Method 3 – Stream block marked: When you mark a stream block and then invoke the comment/uncomment command, Multi-Edit will comment your code from the beginning of the stream block to the end, and vice versa if the marked code is already commented.

If only end-of-line comments for the language you are using are defined (or begin/end comments do not exist for the language), then you may not be able to end your comment at the point specified in your stream block (i.e., your last line will be completely commented out, since only end of line comments exist).

Method 4 – Single column of text marked: If you mark a single column of text and then invoke the comment/uncomment feature, your code will be commented starting at the column marked and extending to the end of each line.

The Comment/Uncomment feature works for most languages supported by Multi-Edit. Support for new languages can be added by following the instructions in the Adding Language Support section of this manual.

TipWin

The TipWin feature displays a function's definition in a pop-up as you type the function name, greatly reducing time wasted hunting for help when all you need is a quick reminder of the function prototype. It can also automatically create function templates that fill in the functions' definition for you.

At present, TipWin supports several languages, retrieving the necessary information from several sources: C and C++ from MeTags and BSC databases; CMac from MeTags and a database of kernel and import functions; Delphi/Pascal from MeTags; and Java, using experimental MeTags support. Since TipWin's functionality is dependent on the quality of data available to it, you should create tag files and, where applicable, BSC browse databases, and keep them as up-to-date as is reasonable for your project by incrementally updating files that change. For the truly ambitious, it's always possible to create function databases from scratch, using the CMac database, CMac.fct as a model.

You can independently configure TipWin's two functions, hint popups and template expansion, to run automatically, manually, or not at all from the TipWin section of the Customize dialog. (See TipWin configuration below to switch on TipWin's automatic parameter info and TipWin's automatic template expansion.)

To display a TipWin popup manually, position the text-insertion cursor anywhere over a function call and run the macro TipWin^DisplayFunctionTip. If you do this frequently, you'll probably want to assign its command mapping to a hotkey, button, or menu item. Likewise, to manually expand a template, type the function name, followed by the opening parenthesis of its argument list, then run the TipWin^ExpandFunctionTemplate macro. Note that with the single exception already mentioned, All TipWin functionality requires the presence of a recognized function name followed by a left parenthesis. If either option is set on automatic, it triggers the instant you type the opening parenthesis. The first argument in an expanded template will be selected by default, and the matching argument in the TipWin popup. Since the arguments are enclosed in backticks, you can use the 'Ctrl+I' and 'Ctrl+U' keys to move quickly between them, or move the cursor manually. If you wish, TipWin will syntax-highlight in the popup the argument the cursor is on. Once you move the cursor out of the function or its argument list, the popup disappears. If you use the TipWin popups, but not the template expansion, the highlighting follows the cursor as you type in the arguments.

Automatic Function Templates

TipWin generates and expands function templates from the same set of information sources it uses to display hint popups.
You can undo a template expansion in one undo, should you wish. Note that at present TipWin supports function templates for the same set of languages as for hint popups, with the exception of Delphi/Pascal. Don't confuse TipWin's automatic templates with the template facility discussed in the next section; they're quite similar in concept, but use a different mechanism.

TipWin Configuration

To display TipWin's configuration dialog, select Tools | Customize… from the main menu bar, then click on the TipWin item in the topic tree in the left pane of the Customize dialog. You can then set the following items to suit your preference:

Options

Automatic parameter info: If checked, typing a recognized function name followed by an opening parenthesis causes TipWin to display popup hints automatically.

Use colors: Popup hints appear in the default system colors (usually black text on a yellow background) unless this box is checked, in which case TipWin uses seven custom colors instead. The current user interface doesn't provide a means of changing these colors, but it can be done using the TipWin^TipWinSetTwColors and TipWin^TipWinSaveTwColors macros. Examine their source code in TipWin.s to see how to use them.
Follow cursor: By default, when TipWin displays a hint for a multi-line function, it positions the hint popup just below the current line, where it stays, so long as the cursor is within the function. Checking this box causes the hint popup to move, tracking the cursor, so that it's always immediately beneath the current line.
Prefer position above: TipWin displays hint popups below the current line by default; checking this box causes it to display them above the current line instead. Whatever the state of this option, if there isn't room for the popup at the preferred location, TipWin displays it in the other location.
Display info source: When this option, currently supported for CMac and Delphi/Pascal, is selected, TipWin displays the source of the current information within square brackets in the hint popup. The possible values are MeTags [t], DLL imports [i], and Multi-Edit system functions [m].

Display default parameters

This option controls how TipWin displays any default values a function's parameters may have. The possible behaviors are:

Always: Always display default values.
When selected: Display an argument's default value only when it's selected.
As a hint: Display default values as a hint popup.
Never: Never display default values.

Function Templates

Automatic expansion: When this option is checked, typing a known function name followed by an opening parenthesis automatically expands the function's definition as text in the editing window. Checking this option enables the following options.
Expand empty parameters list: When checked, this option permits TipWin to expand functions that have empty argument lists, or ones containing only “void” or “VOID” arguments.

Expand style

This option, available only when automatic expansion is enabled, determines whether to expand a template based on the current cursor position. The possible behaviors are:

Always: TipWin always expands templates automatically.
End of line: TipWin only expands templates if the line is empty after the cursor.
Smart: TipWin uses heuristics to determine whether to expand templates. It will expand a template if the rest of the line is empty, or if a function expansion makes sense in the current context.
For example, in a C-like language, TipWin would expand a template if the character following the cursor were a semicolon, but not if it were a left parenthesis. The key here is that after expansion, the first case would result in valid code, but the second would not.

Expand parameters as

This option determines how template arguments will be formatted. In all three cases TipWin expands the argument within enclosing backticks, making selection easy using the 'Ctrl+I' and 'Ctrl+U' keys.

Both type and name: TipWin expands each argument as it would appear in a function definition, with both the data type and the variable name.
Type only: TipWin expands each argument to just its data type.
Name only: TipWin expands each argument to just its variable name.

Templates

Understanding Templates

Templates provide a way to reduce the amount of typing needed when entering large amounts of repetitive code. Some good candidates for templates are flow control statements, documentation headers for routines and API functions. For example, with a routine header, a template could be created that enters the basic outline of the header with template field markers placed where the routine-specific information would be entered and, with a few keystrokes, would be fully expanded with the cursor positioned on the first field marker.

Still don't know what templates are? Well then, lets use a C if condition for an example. In the language C, a typical if condition has the following structure.

if ( condition ) {
  statement
}

With the C templates provided with Multi-Edit, after typing if followed by a space, the structure above would be automatically generated for you and the cursor would be resting at the first letter of the word condition.

Every language that Multi-Edit supports comes with a template set that contains templates specific for that language.

Enabling Templates

Auto-Template expansion is enabled for a particular filename extension. To enable Auto-Template expansion for a particular filename extension, go to Tools | Customize | General | Filename Extensions, select the filename extension and click ‘Edit’. In the resulting Edit Filename Extension Setup dialog, check the box for “Auto-Template expansion” (left side, half way down). (The language template defined for this filename extension is specified in the “Template” field at upper right).

Expanding A Template

Template expansion can be invoked by selecting Tools | Build Template or by enabling “Auto-Template expansion” in the Extension Setup dialog (Tools | Customize | General | Filename Extensions – ‘Edit’). This causes the space key to trigger template expansion.

Template expansion can be performed at any time while editing text. When invoked, the template system checks to see if there are characters before the cursor that match a defined template. If a unique matching template is found, it is automatically expanded; otherwise, a list of possible templates is shown. From this list, select a template and press ‘Expand’ to cause the highlighted template to be expanded at the cursor location. For example, you're working in C language and type “s” and then highlight and select the Build Template command. Multi-Edit will then build the following template:

switch (  ){
  case :
}

The toolbar button method of template expansion can be demonstrated by using the HTML templates. When one of the HTML template toolbar buttons is selected, the template system expands the specific template for that button. These templates are special in that they have been designed to remove a block of marked text if it exists, insert the template text and paste the contents of the removed block into the correct place in the text. These templates can only be expanded from the toolbar button or selecting them from the Build Template list.

One feature built into templates that can be a great time saver is field strings or field markers. A field marker is text in the template between back tick characters. The purpose of these markers is twofold. First, they document what is expected at its location when entered in templates with many fields. Most importantly, the field markers provide a quick way to navigate through a template as it is being filled in.

In the default keymap, the 'Ctrl+I' and 'Ctrl+U' keys are assigned to functions that move the cursor to the next and previous template field marker. Using these keys allows you to move the cursor quickly to the next field marker and have the field marker block marked and deleted when text is typed in.

If ( `expression`) {
   `statement`
}

Of course, not everyone likes the field markers being entered, so templates that do have field markers can be set to have the field markers stripped when the template is expanded. This is accomplished in the Tools | Edit Templates dialog by selecting ‘Properties’ and then checking “Strip field strings”.

Global Templates

Global templates would be templates that contain text that you would enter into any type of file such as your name or company name, etc. When enabled, all global templates are available to any Editing Window regardless of the file extension. Global templates can be used in the same way as regular templates (i.e., expanded via a keyword and/or via a template expansion metacommand from any other template set). To enable global templates, check the box for “Enable global templates” in the Tools | Edit Templates dialog. You also need to enable “Auto-Template expansion” in the Edit Filename Extension Setup dialog (Tools | Customize | General | Filename Extensions – ‘Edit’) for each file extension for which global templates are to be used. When enabled, global templates will be searched for after the language template set is scanned. Thus, a template in a language set by the same name as a global template will be expanded instead of the global template.

Creating A Template

Templates are easy to create and you can create customized sets of templates on the fly for programming languages, documentation, etc. All templates are user-configurable and new ones can be easily added. To add or change templates, use Tools | Edit Templates to bring up the Edit Templates dialog where you can edit, add, delete and create new template sets. This dialog is modeless, which means you can leave the box up and edit simultaneously. The transparency of a modeless dialog can be set via Tools | Customize | User Interface – Dialog Transparency.

For more on creating templates see Template Metacommands in the chapter on Metacommands, and see Adding Templates in the Adding a New Language section of the Adding Language Support chapter.

TemplatePane

The TemplatePane Add-On provides convenient access to a set of templates appropriate for the currently selected file. After installation, the TemplatePane option will be available via View | Templates. (If Templates is already checked, then use View | Navigation Pane.)

You must select the “Template Pane AddOn” checkbox when you install Multi-Edit in order to have this feature.

By default the Template pane will 'follow' the current window. When you select a different window, the Template sets shown will match the file extension for the active window. For most languages, the top section will show language specific templates, while the bottom section will show the global templates.

For web related extensions (where the LANG buffer property equals HTML) you can choose ASP, Script, WebLair, or HTML templates for both the top and bottom sections previously mentioned. ASP and Script templates are found by looking at the ASP_DEF and SCRIPT_DEF buffer properties.

The template set choices can also be overridden by setting a buffer property TMPLPANE_TOP or TMPLPANE_BOTTOM in the extension or language setup. To use the TemplatePane, select a template from the list and double-click it to expand it at the current cursor position.

Collapse

Collapse Mode allows you to see only specific lines, with other lines hidden from view (collapsed). With collapse mode you can collapse by:

Column: Show only lines which start at or before a certain column.
Search: Show only lines which contain a specific word or match a specific regular expression.
Tags: Show only lines which start the definition of a function.
User: Use a specified macro to determine what lines to show.

Lines that do not meet the collapse mode parameters are hidden. A plus character is shown to the right of the line where this hidden (or collapsed) text resides. To view the collapsed text, click on the plus button. The text will be expanded, and a minus button will replace the plus button. When you are ready to re-collapse your text, click on the minus button.

You can have separate collapse mode settings for each open file within Multi-Edit. Thus, you can have one file set to collapse on column 1, while another file collapses based on the keywords PROCEDURE or FUNCTION.

Collapse Modes

The Collapse Mode Tool Pane has the following fields:

Column

Selecting this option enables collapse mode by column number. The Column # field will be displayed when this option is selected.

Column #: This is the column number on which the file should be collapsed. All lines that do not start at a column equal to or less than the specified column are collapsed.

Search

Selecting this option enables collapse mode by search string. Additional fields pertaining to search strings appear in the dialog.

For: This field specifies the search string you want to collapse on. All lines that do not contain the search string will be collapsed. Regular expressions are also supported if the “regular expressions” box is checked. For example, to search for the beginning of your 'C' functions, you might search for {void}|{str}|{int}|{real} (assuming Multi-Edit Classic regular expressions).
Regular exp: This checkbox enables regular expressions within the For field. When this is not checked, the search strings are literal. When checked, regular expressions are enabled. The default regular expression type is set under Tools | Customize | Search.
Case Sensitive: Checking this box makes the collapse search case sensitive. For example, if VOID was the search string and this box was checked, void (lowercase) would not be matched.
Invert: By default, all the lines that do not match the specified search string are collapsed. If you want all the lines that do match the search string to be collapsed, check this box.
Alias: Press this button to display the Regular Expression Aliases dialog. Select the alias representing the metacommand you wish to use.

Tags

Selecting this option enables collapsing by using the tag function for the language of the current window to specify the lines to collapse. All functions that would be listed in the tag file will be the first line of the collapsed text.

User

Selecting this option will enable collapsing by using a macro that will locate the starting line of the text to collapse. This functions just like the tag mode, but uses different user selected macros.

Currently there are four defined macros:

_CollapseParagraph: This macro will collapse all but the first line of a paragraph.
_CollapseChangedLine: This macro will collapse and show only the changed lines in the current file.
_CollapseComment: This macro will Collapse all comments showing only the first line of the comment.
_CollapseCommonCode: This macro will collapse code in HTML style files that have common code includes in them. Common code includes are blocks of text that begins with <!--Begin CCID=... --> and end with <!-End CCID=... -->

Other fields

Active

This checkbox allows you easily toggle the collapse mode feature on and off globally without having to uncollapse and re-collapse all the collapsed text.

Scan

The scan button takes the current collapse mode settings and collapses (or re-collapses) the current file according to them.

Exclude collapsed text on

Block copy: Check to exclude hidden (collapsed) text on a block copy.
Search: Check to exclude hidden (collapsed) text during a normal search operation.

Using The Preview Pane

Multi-Edit's Preview Pane is a convenient feature used to preview files or Multi-Tags without having to manually load them. When a file or tag is selected within the Project View or Tag View and the Preview Pane is displayed, a preview of the file or tag is automatically generated within the Preview Pane's main window.

To display the Preview Pane, click on View | Preview Pane. A history list is displayed above the main window allowing quick access to previously viewed files or tags. Clicking on the 'Edit' button will load the currently displayed file into Multi-Edit's editing window, and if you were viewing a tag, position the file to that tag.

An option to “Auto-show Preview pane for supported dialogs” is offered under Tools | Customize | Windowing | Tool Pane. When enabled, the Preview Pane will automatically be displayed when a dialog that supports it is used.

 
doc/manual2k8/automating.txt · Last modified: 2008/07/09 14:53 (external edit)     Back to top