SlickEdit Core v3.4 for Eclipse 3.4 - New and Noteworthy

Welcome to SlickEdit Core v3.4 for Eclipse v3.4.  SlickEdit Core is a subscription based plug-in for Eclipse that provides a wide range of powerful and time-saving features for analyzing, working with, and improving the readability of code. This version of SlickEdit Core offers many enhancements and upgrades to Eclipse 3.4 including:

DIFFzilla Integration Quick Brace/Unbrace Enhanced URL Mapping
Execute Eclipse Commands From the SlickEdit Editor Perl Regular Expressions Auto Symbol Translation
New Preferences Dialog Cursor on Symbol Shows All Uses in File New Clipboards View
Enhancements to Installed Language Support Enhanced Auto-Generation of Doc Comments New Language-Specific File Options
Adaptive Formatting URLs Treated as Links Additional Enhancements and Changes


DIFFzilla Integration


[Top]
The DIFFzilla API has been pulled into Eclipse to replace the built-in diff tool. You can now use DIFFzilla to diff two files by selecting them in an Eclipse explorer view, or use DIFFzilla to compare backup history elements. Note that DIFFzilla does not support all mechanisms for differencing files: DIFFzilla is currently not integrated with Eclipse version control and refactoring.


DIFFzilla Integration


Execute Eclipse Commands From the SlickEdit Editor


[Top]
A new Slick-C® command (_eclipse_execute_command) has been added which allows programmatic execution of Eclipse commands from the Slick-C environment. You must provide the identifier of the Eclipse command, as well as any parameters you wish to pass as arguments. Note that some commands in Eclipse are specific to a certain editor, and thus, will not work when launched from the SlickEdit environment.


Execute Eclipse Commands From the SlickEdit Editor  


New Preferences Dialog

[Top]
One of the main advantages of SlickEdit Core is its vast configurability. To make options and settings more accessible, a new SlickEdit Preferences dialog is available at Window > SlickEdit Preferences. The SlickEdit Preferences dialog combines all of the individual options screens formerly used to configure SlickEdit Core (previously located at Window > Preferences > SlickEdit > General). 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 SlickEdit Preferences 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.
• A History feature to see which options have been changed and when.


New Preferences Dialog


Enhancements to Installed Language Support

[Top]
Language-specific options are now accessed from the Languages node of the new SlickEdit Preferences dialog (Window > SlickEdit Preferences). The options are categorized 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 categorized 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 SlickEdit Preferences dialog.


Enhancements to Installed Language Support


Adaptive Formatting

[Top]
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 recognizes indentation and tab style settings, parentheses padding, and begin/end style settings. It also recognizes 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 recognized or to disable the feature, use the language-specific Adaptive Formatting options page: Window > SlickEdit Preferences, expand Languages and your language category, then select your language and click Adaptive Formatting.


Adaptive Formatting


Quick Brace/Unbrace

[Top]
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 Core 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: Window > SlickEdit Preferences, expand Languages and your language category, then select your language and click [Language] Formatting Options.



Perl Regular Expressions

[Top]
SlickEdit Core 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.

Perl Regular Expressions


Cursor on Symbol Shows All Uses in File

[Top]
SlickEdit Core 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: Window> SlickEdit Preferences, expand Languages and your language category, then select your language and click Context Tagging. On the options screen, select Highlight matching symbols under cursor.


Cursor on Symbol Shows All Uses in File


Enhanced Auto-Generation of Doc Comments

[Top]
By default, SlickEdit Core 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: Window SlickEdit Preferences, expand Languages and your language category, then select your language and click 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 Core 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.


Enhanced Auto-Generation of Doc Comments


URLs Treated as Links

[Top]
SlickEdit Core 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. To configure recognized URI schemes, from the main menu, click Window > SlickEdit Preferences > Network and Internet Options > URI Schemes.


URLs Treated as Links


Enhanced URL Mapping

[Top]
SlickEdit Core 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 Window > SlickEdit Preferences > Network and Internet Options > URI Mappings.


Enhanced URL Mapping


Auto Symbol Translation

[Top]
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 Core 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 Core - 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 Core comes with some predefined symbol aliases. You can view these, customize 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.


Auto Symbol Translation


New Clipboards View

[Top]
A new Clipboards view is available for previewing and managing your clipboards in SlickEdit Core. The view 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 view window can be toggled on/off by clicking Edit > List Clipboards pressing Ctrl+Shift+V, or by using the toggle_clipboards command. To display the view 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 Clipboards View


New Language-Specific File Options

[Top]
Most of the options regarding loading and saving files in SlickEdit Core 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 Window > SlickEdit Preferences, expand Languages and your language category, then select your language and click File Options. New language-specific file options also include Load as Binary, Save as Binary, and Strip trailing spaces.


New Language-Specific File Options


Additional Enhancements and Changes
[Top]

Context Tagging®
• Tagging operations run off current identifier - Previously, Context Tagging relied on word characters to find identifiers in the code being analyzed. Now, Context Tagging operations are based on the current identifier. If you are creating color coding support for a new language, you can adjust ID start and follow characters by using the Identifiers options on the Tokens tab of the language-specific Color Coding options screen (Window > SlickEdit Preferences, expand Languages and your language category, then select your language and click Color Coding).

• A new Context Tagging option is available for all languages: Go to Definition ignores forward class declarations. This option is on by default. When on, Go to Definition will filter out forward class declarations and only show you the actual class definitions. Note that when this option is off, turning on Go to Definition navigates to symbol definition (proc) will still navigate directly to the class definition, as it did before. However, Go to Definition navigates to symbol declaration (proto) will not navigate directly to forward class declarations (because you never want to actually do that by default). The option also appears on the Select a Tag dialog on first use, like the other Go to Definition options.

• Go to Definition has been enhanced with better centering.

• The grep_tag command now supports wildcards and Perl regular expressions.

• List Members is now supported for PHP. Local variables in PHP (those that are not explicitly declared and the function parameters) are now added to the tag files.
Find and Replace
• The SlickEdit Core file search is now easier to launch from Eclipse. There is now a file search menu item in the Navigator/Package Explorer views: right-click and select Search With SlickEdit.

• Wildcard regular expression syntax now supports #, which matches any single digit (0-9).

• The gui_goto_col command has been added to the Search menu (Search > Go to Column). This makes it possible for you to record a macro to position the cursor on a particular column (which can also be done by clicking on the status line).

• A new command has been added, find_current, to complement find_next and find_prev. Use this command to jump to the currently selected reference.

• The Color Coding Search Options dialog (accessed by clicking the Color button on the Find and Replace view window) has been changed to show the "modern" names for the sets of symbols. Therefore, the labels for Symbol 1-4 are now Punctuation, Lib symbols, Operators, and User-defined.
General
• Menus in SlickEdit Core have been updated to match the menus in SlickEdit. The following menu items have been added except as noted otherwise:
* File > Open URL
* Edit > Copy Word
* Edit > Append to Clipboard
* Edit > Copy Append (removed)
* Edit > Cut Append (changed to Edit > Append Cut)
* Format > Adaptive Formatting
* Format > List Open Files (removed)
* Format > Select Mode (now shows current mode)
* Format > Language Options
* Navigate > List Open Files
* Tools > Add Selected Expr (changed to be enabled/disabled based on selection in buffer)
* Tools > Spell Check
* Tools > Imports (enabled/disabled based on current file)
* Tools > Quick Refactoring
* Tools > ASCII Table
* Tools > Validate XML (removed)
* Tools > Well-Formedness Check
* Macro > List User Loaded Modules
* Macro > Load (removed)
* Window > SlickEdit Preferences
• SlickEdit Core now honors settings for Eclipse to shut off or modify Java Live Errors. For example, you can shut off Java Live Errors by going to Window > Preferences > Java > Editor > "Report problems as you type". You can also modify what is displayed for Live Errors (i.e. shutting off the squigglies, etc.) and change the style of the error/warning markers from a squiggly to a box or a dashed box. Every other style will default to squiggly. These options are set in Window > Preferences > General > Editors > Text Editors > Annotations.

• Fixed a bug that caused some commenting commands to work improperly from the Format menu.

• Fixed a bug that caused SlickEdit Core to corrupt certain files containing special Unicode characters on save.

• Fixed an issue with Perforce support in SlickEdit Core that prevented expected usability.

• Fixed a bug that caused the bookmark stack to be corrupted.

• Fixed a bug that caused some problems with Selection menu items.

• Fixed a bug that prevented SlickEdit Core from respecting File Options > Encoding value.

• Two enhancements have been made to the Key Bindings options (Window > SlickEdit Preferences > Keyboard > Key Bindings).  First, a new button is available, located next to the Search by key sequence box at the top, that prompts for a list of mouse events that can have bindings, including WheelUp and WheelDn. If you want to add a modifier to the event (Ctrl, Alt, Shift, Command), hold down the modifier key(s) when clicking on the mouse event button, and that modifier will automatically prefix the events in the list.

Second, Key Binding options have been enhanced to better handle those SlickEdit Core commands that work on a range of keys. For example, in CUA emulation, the alt_bookmark command is by default bound to Ctrl+0 through Ctrl-9. Ctrl-0 creates a bookmark named "0", Ctrl+1 creates a bookmark named "1", etc. Formerly, Key Binding options did not display any command bindings based on a range of keys, and therefore the command appeared as unbound in the list. Now, these bindings are shown in the list, with the ranges for these commands shown as "Ctrl+0 -> Ctrl+9". These bindings also now appear when you use the Export and Save Chart features. When unbinding one of these commands, SlickEdit Core displays a message asking if you want to remove the entire range from the command. There is no way to remove a single key from within the range; however, you can rebind a key to a different command.

• SlickEdit Core now supports DocBook as a language. DocBook is a DTD set that includes both SGML and XML versions which are used to create technical documentation. Support has also been added for XHTML.

• The Emulation mode is now transferred when upgrading (no more prompt).

• The Fundamental language mode has been renamed as "Plain Text" mode.

• A Binary language mode has been added for viewing non-text files in hex mode.

• Delete Code Block has been enhanced. Now when you use delete_line or cut_line and are prompted with the Delete Code Block dialog, you can just press the key you used to initiate the cut_line to select just to delete the line. This makes it much easier to chain together cut_line's even if you have this feature turned on, since you can use cut_line, get the dialog, use cut_line again to specify to just delete the line, and then continue using cut_line to delete subsequent lines.

• The edit_associated_file command has been added to the Document menu and the right-click context menu (Document > Edit Associated File). It has also been enhanced to support WPF (XAML) files, and the finding of files in different directories.

• In Ada, the ada_enter command now splits lines of syntax-expanded statements.

• SlickEdit Core now detects UTF-8 files without signatures.

• Bookmarks, breakpoints, and annotations are now retained when beautifying, refactoring, auto-reloading, multi-file diffing, and reverting code, and SlickEdit Core attempts to relocate the markers.

• A Delete button has been added to the Bookmarks view window to delete a selected bookmark.

• Color Coding now provides the capability to import lexer definitions from any VLX file. Use the Import button on the language-specific Color Coding options screen (Document > [Language] Options).

• The gui_draw command (Draw Lines dialog) has been enhanced to include an ASCII line drawing option.

• A new configuration variable, def_save_config_on_autosave, has been added for saving the SlickEdit Core config if necessary on the autosave timer. The default value is set to off. Use Macro > Set Macro Variable to enable the option.

• DIFFzilla has been enhanced so that Shift+Enter, Ctrl+Enter, and Ctrl+Shift+Enter work properly in diff mode.

• The Visual Studio emulation has been renamed as the "Visual Studio default" emulation. This change is because Visual Studio has multiple sets of key bindings. They prompt for the kind of development you will be doing and assign a set based on that. If you select "General Development", you are assigned their "default " emulation, which is the emulation supported by SlickEdit Core.

• SlickEdit Core now ships the Mingw version of GDB 6.7.1 on Windows to eliminate the dependency on the Cygwin libraries.

• Alt-hotkeys have been added for the buttons on the Refactoring Results dialog that appears after a refactoring operation.
Slick-C®
• The Save Macro dialog (which appears automatically when you stop macro recording) has been enhanced. Now, when you attempt to save a macro with a name that is already taken, SlickEdit Core displays a message asking if you want to overwrite the existing macro. The Save Macro dialog also has a new button: Save and Bind to Key. This saves the new macro and allows you to quickly create a key binding for it with the Key Bindings dialog. You can also create/change key bindings for recorded macros by clicking Bind to Key on the List Macros dialog (Macro > List Macros or list_macros command).

• Structs now behave like Slick-C classes and are their own data type, instead of being represented in the interpreter as arrays.

• Slick-C now supports ISO C struct initializers.

• Wildcard regular expressions are now supported for parse.

• A foreach statement has been added to Slick-C, that works with arrays, hash tables, strings (same as Bourne shell), structs (iterates over the fields of the struct), and classes (if instance of IIterable, otherwise like structs). There is an optional key, which is useful for hash tables. The value may be omitted ( key => . in ht ). value and index can be auto-declared using the auto keyword. If value is auto-declared, its type will be inferred from the type of the collection. The implementation uses _nextel(). The syntax of foreach is:
 
                                foreach
 
                                ( v in a ) {
 
                                statements;
 
                                }
 
• Slick-C now provides the interfaces sc.lang.IEquals and sc.lang.IComparable, which the compiler and interpreter hook into.

• Slick-C now provides the interface IToString for implicit string conversion. If a class implements IToString, then an instance of that class can be implicitly converted to a string, without calling the _toString() method.

• Slick-C now supports the overloading of operator [] and operator :[].

• New #pragma options have been added:
#pragma option(twopass,on) - Specifies that the Slick-C compiler do a two-pass compilation. This allows the compiler to verify all function call signatures even for functions that are declared later in the file.
#pragma option(strictarglists,on)
- This makes it an error to have implicitly typeless arguments, for example: void first_char(s) { return substr(s,1,1); }
#pragma option(strictincludes,on)
- Verifies that all #import and #include statements preceed any real code in the current module. This is required for two-pass compilation.
#pragma option(strict2,on)
- Second generation of strict Slick-C compilation checks. All the options in #pragma option(strict,on), plus the three new options above.
• Slick-C hash tables now support indexing by class objects.

• The Slick-C const declaration now works with Slick-C classes and namespaces. It is no longer be deprecated by default, constants support type inference (so the compiler can tell ints from booleans from strings), constants work in namespaces and classes, constant names and values are stored in the state file in order to allow introspection, and now tagging recognizes the const declaration correctly.

• Slick-C now provides better support for global variable initialization across modules.

• Slick-C now includes namespace default;, which will return you to the "default " global namespace.
Vim Emulation
• In Vim emulation, you can now press Esc to not only dismiss any codehelp windows, but also enter Command mode. A new configuration variable, def_vim_esc_codehelp (off by default), is available to turn this feature on and off.


SlickEdit.com Login
Username
Password
    Remember Me
Create New Account
Lost Password or Username?

Show Cart
Your Cart is currently empty.

Download Trial

Licensing Options

OEM Partners

Site Search