Message List
Message List is a feature that shows output messages from processes running in SlickEdit, such as build warnings and errors. Messages are displayed in the Message List tool window, docked in the bottom tab group of the editor by default. The tool window shows messages in tabular format, with columns for the message type (warning, error, etc.), source file and line number associated with the message, a description, the creator of the message (Build, Java Live Errors, etc.), and the date. Messages can be filtered and sorted. You can clear the tool window of all messages, or clear only messages with a certain creator or type.
Messages are associated with a location in the code. When the cursor is on a line with an error or warning, the corresponding message in the Message List is highlighted. You can also navigate to the message in the source code from within the Message List by double-clicking on it (or right-click on a selected message and click Go to code location).
New Options Dialog
One of the main advantages of SlickEdit is its vast configurability. To make options and settings more accessible, a new Options dialog is available. The Options dialog combines all of the individual options dialogs formerly used to configure SlickEdit, including dialogs previously on the Tools > Options menu. The options have been sorted into new categories which are presented as nodes in a tree. Click on the nodes to view individual options, which are displayed in embedded forms or in tabular format.
The new Options dialog provides the following features:
- Navigation buttons to jump to previously viewed options pages.
- An incremental search function to find options that contain specific text.
- A way to mark frequently used options pages as "favorites" for quicker access.
- An Options History feature to see which options have been changed and when.
To access the Options dialog, from the main menu, click Tools > Options, or use the config command on the SlickEdit command line.
Enhancements to Installed Language Support
Language-specific options are now accessed from the Languages node of the new Options dialog (Tools > Options > Languages). The options are categorised by language type and language. For example, to access C/C++ or Java options, expand the Application Languages node. Under each language, the options are further categorised by type (General, Advanced, Indent, etc.). The option categories are the same for each language while the particular settings are unique to each language. Some languages do not support all option categories or options, and some include additional options that are not available in other languages.
Installed language support has also been enhanced to add a layer of indirection between physical file extensions and language associations, providing more flexibility with extension mapping. Previously, file extensions could only be mapped to their native language, for example, the "m" extension could not mean anything other than Objective-C. Now you can remap extensions to a completely different language very easily, without hiding or removing support for the native language.
Languages and file extensions are now managed through the Language Manager and File Extension Manager screens of the Options dialog (Tools > Options > Languages).
Adaptive Formatting
Many development teams set standards for code formatting styles. These standards often vary from project to project or between languages. In this environment, you can lose valuable time in having to change configurations, set/unset options, or run beautifiers from file to file just so you can meet the team's requirements.
Adaptive Formatting addresses these situations by scanning a file for the formatting styles in use, and automatically matching those settings for the current editing session. This provides seamless integration of new code with existing code, making it easier to read - not only for you, but for the next person who needs to edit the file.
Adaptive Formatting is enabled by default and recognises indentation and tab style settings, parentheses padding, and begin/end style settings. It also recognises case settings, such as keyword casing for case-insensitive languages, and tag, attribute, and value casing for HTML-based languages. To configure what settings are recognised or to disable the feature, use the language-specific Adaptive Formatting options page (Tools > Options > Languages > [LanguageCategory] > [Language] > Adaptive Formatting).
Quick Brace/Unbrace
Quick Brace makes it easy to convert single line statements into a brace-enclosed blocks so you can add new lines without having to manually position the cursor and type extra keystrokes. Quick Brace attempts to honor your brace style and indent settings. To use Quick Brace, position the cursor where you would normally type the open brace, and type the open brace. SlickEdit automatically moves the child statement to the next line (if the statement was contained on one line), indents it according to your indent preferences, and inserts the closing brace according to your brace style preferences.
Unbrace does the opposite of Quick Brace, removing the braces from a brace-enclosed block that contains a single line statement and moving the statement to the preceding line that contains the parent statement (unless it is just too long). To use Unbrace, simply delete the opening brace.
This feature set is on by default and can be enabled/disabled on a language-specific basis through the Formatting Options screen (Tools > Options > Languages > [LanguageCategory] > [Language] > [Language] Formatting Options).
Perl Regular Expressions
SlickEdit now supports the Perl regular expression syntax and has enhanced the Brief, SlickEdit, and UNIX syntaxes to support various features found in the Perl syntax. New capabilities include:
- Word anchor matching - Match a word boundary or anything except at a word boundary.
- Extended escape sequence - Match all characters as literals until reaching a specified point.
- Case-sensitive matching - Match the casing of text or ignore case.
- Character case modification on replace - Convert matched characters to upper- or lowercase.
Makefile Import
You can now create a project by importing a makefile. This feature is a time-saver when you have a project that was not created in SlickEdit that contains a makefile. Simply import the makefile, and SlickEdit automatically parses the targets, finds all referenced source files, and adds them to a new SlickEdit project.
To import a makefile, from the main menu, click Project > Open Other Workspace > Makefile. When you import a makefile, SlickEdit creates a new workspace and adds the project to it.
The new project automatically imports all files that are referenced by the makefile. All of the make targets are also added and made available for execution from the main menu under Build > Execute Makefile Target. For makefiles that contain invocations of other makefiles, the other makefiles can be optionally added to the workspace as separate projects, or all their files added into one project.
Cursor on Symbol Shows All Uses in File
SlickEdit can highlight all occurrences of the current symbol under the cursor. This makes it easy to see, at a glance, all uses of a symbol in a file. This option can be set on a language-specific basis. To enable it, from the main menu, click Tools > Options > Languages, expand your language category and click the language, then select Context Tagging. On the options screen, select Highlight matching symbols under cursor.
Enhanced Auto-Generation of Doc Comments
By default, SlickEdit automatically expands doc comment skeletons when you type the start characters. Now, using aliases, you can modify the template that gets expanded.
To modify a doc comment template, from the main menu, click Tools > Options, expand Languages, your language category, and language, and select Comments. In the Doc comments section, select the type of skeleton you want to modify from the For start characters drop-down list, then click the Edit expansion button. The Doc Comment Editor dialog opens with the specified start characters are already selected in the alias list, so you can start editing the comment template in the edit window.
In addition to Comment enhancements, SlickEdit has added several new escape sequences that you can use in your doc comment templates by using the Insert Escape Sequence list on the Doc Comment Editor. These include the ability to insert local function param names, types, and return types.
Full SCIM Support
SlickEdit now provides full SCIM support for Linux users. First, set the VSLICK_XIM environment variable to scim and set the XMODIFIERS environment variable to @scim (Macro > Set Macro Variable). Then, from the main menu, click Tools > Options > Keyboard > Redefine Common Keys, and set the Use Ctr+Space for input method editor option to True. Now, you can press Ctrl+Space at any time to activate the SCIM input method editor.
Slick-C Debugger
The Slick-C Debugger helps you locate bugs and resolve issues in your Slick-C code. When the debugger is activated (Macro > Start Slick-C Debugger or slickc_debug_start command), a debugger instance of SlickEdit opens and attaches to the running instance. Use the Debug menu items to perform debug operations.
URLs Treated as Links
SlickEdit now treats URLs in editor windows as hyperlinks, making them easy to identify and open from within your code. A string is interpreted as a URL if it begins with one of the following protocols (including trailing slashes):
- http://
- https://
- ftp://
- file://
URLs are underlined. You can navigate to a link by hovering over it with the mouse and using Ctrl+Click (or Command+Click on the Mac). To configure recognised URI schemes, from the main menu, click Tools > Options, then expand Network & Internet Options in the tree and select URI Schemes.
Enhanced URL Mapping
SlickEdit lets you map URLs to different locations. You can now specify a default lookup directory that contains all of your DTDs and namespace schema files. Every mapping doesn't need to be explicitly configured. You can also create mappings for namespace URIs as well as DTD files. To configure URL Mapping, from the main menu, click Tools > Options, then expand Network & Internet Options in the tree and select URL Mappings.
Auto Symbol Translation
Auto Symbol Translation automatically converts a character or sequence of characters to the appropriate entity reference, saving you from having to repeatedly guess at the correct entity or look up reference charts. This feature works automatically as you type, so you don't need to press a special key or key sequence to trigger the translation. For example, type >>, and SlickEdit automatically converts the >> sequence to > - the entity reference for the right angle bracket (>). Typing && translates to & - the entity reference for the ampersand symbol (&).
Auto Symbol Translation is based on the Alias mechanism in SlickEdit - the character or character sequence that you type to trigger translation is actually a special kind of alias, henceforth called a "symbol alias". Regular aliases are expanded by pressing a key sequence or, in some cases, when you type a space. Symbol aliases are expanded as soon as you finish typing the characters in the alias. Because of this, you need to make sure a symbol alias does not begin with the another symbol alias. For example, you cannot have an alias named "||" and another one named "||>".
SlickEdit comes with some predefined symbol aliases. You can view these, customise them, and create your own by using the Symbol Translation Editor dialog. The first time Auto Symbol Translation is triggered, a prompt appears that describes the feature and lets you open the Symbol Translation Editor.
New Clipboards Tool Window
A new Clipboards tool window is available for previewing and managing your clipboards in SlickEdit. The tool window shows a list of your recently used clipboards (up to 50 by default), and has a Preview area that lets you see the entire contents of a clipboard including color-coding based on the source of the clipboard text.
Display of the Clipboards tool window can be toggled on/off by clicking View > Toolbars > Clipboards, pressing Ctrl+Shift+V, or by using the toggle_clipboards command. To display the tool window on demand, use the activate_clipboards command.
Note that the list_clipboards command also now invokes the Clipboards window, which displays the same information presented by the modal Select Text to Paste dialog. If you prefer to use this dialog, use the old_list_clipboards command.
New Language-Specific File Options
Most of the options regarding loading and saving files in SlickEdit are global, such as Expand tabs to spaces. But sometimes you may need to work with files that have different file load and save options from the defaults. For example, when working with makefiles, tabs should never be expanded to spaces. Now, load and save file options such as this are available on a language-specific basis. To access them, from the main menu, click Tools > Options. Expand Languages in the tree, then select your language category and language, and click File Options. New language-specific file options also include Load as Binary, Save as Binary, and Strip trailing spaces.