SlickEdit 2016: What's New

Groovy Language Support

Now SlickEdit's best in class language features have come to Groovy. This includes all of the features you have come to expect from SlickEdit:

  • Color Coding
  • Symbol Coloring
  • Smart editing features
  • Context Tagging
  • Project wizard for creating Gradle project
  • Single file project support
  • Debugging
  • Beautifier

New Beautifiers

We have been saying it for years now: beautiful code is a right, not a privilege. This is why SlickEdit has more beautifiers than any other commercial product.

Now SlickEdit's best in class beautifiers have come to Groovy. This includes the fine grained control of your source code that all of our beautifiers offer.

This is in addition to the existing beautifiers for C++, Objective-C, Java, C#, Python, JavaScript, VBScript, PHP, HTML, XML, SystemVerilog, Verilog, Ada, and Slick-C.

Language Enhancements

Programming languages are fluid, constantly upgraded and changing. SlickEdit must be fluid and constantly adapting too.

SlickEdit has support for new C++ features including:

  • Color coding for C++ raw strings
  • Support for C++11 && reference syntax
  • Support for C++11 & and && function overload syntax
  • Add option to dynamically transform '.' to '->' for pointer types in C++.
  • Improve handling of local variables with parenthesized initializers that look like function prototypes in C++.

There are also upgrades to Verilog and SystemVerilog:

  • Preprocessing configuration for `define macros
  • Inline parsing of quoted `include files

There are also enhancements to Swift:

  • Project support
  • Debugging

Tagging Enhancements

Just as SlickEdit's language support changes every version to better support languages as they change, SlickEdit's tagging features change every version as well.

  • Added support for CTags tag files for SlickEdit Standard edition (CTags must be installed and in PATH).
  • Added new command 'edit-associated-symbol' (Alt+Backtick) to quickly jump between the current function and its prototype and other overloaded versions.
  • Improve design and performance for local variable tagging.
For more on SlickEdit's tagging features click here.

Spell Check While Typing

SlickEdit's Spell Check While Typing will automatically underline misspelled words. In code files, it will only check comments and strings.

Project Enhancements

  • New option to track active project history along with workspace history to make it easier to switch between the most frequently used projects within the workspace.
  • New option to display file, project, and window history more compactly.
  • New option to display file paths relative to the current project in the Project and Open tool windows.
For more on SlickEdit's project and build features click here.

Mini Find and Replace

  • By default, the find and replace commands display a new mini Find and Replace dialog which does incremental searching and match highlighting.
  • This new dialog provides many of the features of the Find and Replace tool window including matching color coding.
  • If you prefer the large Find and Replace tool window, you can configure the find/replace commands to display the Find and Replace tool window instead.
  • Press the binding for gui-find or gui-replace a second time to display the Find and Replace tool window. For example, pressing Ctrl+F displays the mini Find/Replace dialog. Pressing Ctrl+F again displays the Find and Replace tool window.
  • Find in Current Procedure is not a new feature, but it works especially well with the mini Find and Replace tool window.

Find and Replace Enhancements

  • Multi-file Find and Replace is up to 15x faster. Best speed is seen on SSDs with CPU's good at multi-threading.
  • The new "Auto escape regular expression" option will add escapes if the find dialog is initialized with a selection or the current word when regular expressions is on.

DIFFzilla® Enhancements

  • Choose resync points and re-diff files. Use "Align with..." menu item in context menu and choose line to resync with in the other file.
  • Re-diff files after making edits. Use "Re-diff" button.
  • Added option for Unicode Diff font. Previously only one Diff font could be configured for both Unicode and SBCS/DBCS files.
For more about already existing DIFFzilla features click here.

Debuggers

SlickEdit 2016 adds debuggers for Groovy and LLDB.

This is in addition to debuggers for GNU C/C++, LLVM C/C++, Microsoft Visual Studio C++ programs using WinDbg, Java, Python, PHP, Ruby, Perl, Google Go, Swift, and XCode projects.

Other debugger enhancements include:

  • Support for Debug executable for Java.
  • Cleaned up Debug > Attach submenu for easier navigation.
  • Debug executable command, and Debug with arguments now supports Java.

For more about SlickEdit's Debuggers click here.

Version Control

  • Git Repository Browser: Shows each commit in the Git repository, including showing branches.
  • Find Symbol Changes in file now searches the current working file. Only SlickEdit can offer this feature because it uses SlickEdit's powerful Context Tagging Engine.
  • Diff Current Symbol With Most Current Version. Only SlickEdit can offer this feature because it uses SlickEdit's powerful Context Tagging Engine.
  • History Diff for Git had been prone to occasional parsing errors. This is resolved now.

For more on SlickEdit's Version Control features click here.

New Configuration System

  • Almost all configuration settings are now stored in "user.cfg.xml" (key bindings, fonts, colors, color coding, symbol coloring, language settings, user spelling dictionaries, printing profiles, and more). Recorded macros, macros, GUI resource (menus/toolbars/dialog), project templates, template manager code templates, preprocessing, compiler config (compilers.xml), and annotations, are not stored in "user.cfg.xml".
  • Simply copy your user.cfg.xml from one machine to another to get almost all your configuration changes.
  • Only your changes are stored in "user.cfg.xml". For example, if you change one color in the "Default" color scheme, only one XML line for the new settings for that color field is stored and not all color fields for the entire scheme. This means you can very easily know what settings you've changed. Also, when you update to a newer version of SlickEdit, you automatically get settings that you haven't modified.
  • If you modify your user.cfg.xml by hand (it is occasionally convenient for expert users to do this), when you save the file you will be prompted to reload your options.

Support for .editorconfig files

  • Supports indent_style, indent_size, tab_width, end_of_line, and trim_trailing_whitespace. Color coding added for .editorconfig files.
  • Allows you to configure project specific settings. For more information click http://editorconfig.org.

Open Tool Window Enhancements

  • By default, *.ext (i.e. *.cpp;*.h ) does current directory exact matching of files. Added match style option (current directory contains, current directory exact, recursive contains, recursive exact). This differs from previous versions.
  • By default, other wildcard (i.e. file*.cpp ) does recursive exact matching of files. Added match style option (current directory prefix, current directory contains, current directory exact, recursive prefix, recursive contains, recursive exact). This differs from previous versions.
  • By default, non-wildcard does recursive contains matching of files. Added match style option (current directory prefix, current directory contains, current directory exact, recursive prefix, recursive contains, recursive exact).
  • By default, the <Tab> key in the File name text box moves focus to next control. There is a new option so you can configure this to complete the filename like previous versions.
  • Added "Show all folders in directory panel" option. By default, this is off and the directory panel closes folders when the current directory changes.
For more about SlickEdit's Smart Open feature click here.

File Tool Window Enhancements

  • By default, *.ext (i.e. *.cpp;*.h ) does recursive exact matching of files. Added match style option (recursive contains, recursive exact). This differs from previous versions.
  • By default, other wildcard (i.e. file*.cpp ) does recursive exact matching of files. Added match style option (recursive prefix, recursive contains, recursive exact) This differs from previous versions.
  • By default, non-wildcard does recursive contains matching of files. Added match style option (recursive prefix, recursive contains, recursive exact).
  • These match the changes made to the Open Tool Window.

Float-over Conversions

  • Move mouse over hex or decimal integer to view conversions (hex, dec, octal, binary, Unicode) and optionally copy conversion to clipboard by clicking button.

Advanced File Mappings

  • Extensionless file manager renamed to Advanced File Mappings because it now allows you to map files with extensions too.
  • For example, you can configure *.s files in a particular directory to be mapped to a specific assembly language type.

Calculator

  • Calculator dialog improved to display results in two bases as you type.

More Features in SlickEdit 2016

Enhancements for Undo and Redo

  • If the last modification operation was an undo or redo, cursor movement is not recorded. This means you can scroll around the file without messing up your next undo or redo step.

Options Dialog

  • Speed of searching in options dialog greatly improved.
  • Added "Restore Default Options..." button to Export/Import Options in Options dialog.
  • Added ability to collapse navigation panel of Options dialog to save space.

Keyboard

Added support for key bindings using Windows shift key combinations for Ubuntu.

Enhancements for Find and Replace

  • Added delete_search command. Non-GUI command for removing lines which contain a search string.
  • Added keep_search command. Non-GUI command for removing lines which do not contain a search string.
  • New regular expression replace syntax for choosing replace text based on tagged expressions found (switch statement-like syntax).
    • (Perl syntax) For example, replace "(a)|(b)|(c)" with "$(<1>x|<2>y|z)" -- a->x b->y c->z.
    • For example, replace "(?:(a)|(b))(?:(c)|(d))" with "$(<1&3>x|2&4>y|z)" -- ac->x bd->y ad->z bc->z.
    • See help on Regular Expressions for more information.

See the full list of new features.

SlickEdit 2015: What's New

SystemVerilog Beautifier and Python Beautifier

As we've said before, beautiful code is a right, not a privilege.

Now SlickEdit's best in class beautifiers have come to SystemVerilog and Python. This includes the fine grained control all of our beautifiers offer, as well as Beautify While Typing.

Single File Projects

Sometimes you need to quickly write and debug a short script or program and don't want to create a project for it.

This is why SlickEdit 2016 has support for Single File Projects. You can open a file and quickly start building, executing, and debugging.

Single File Projects are available for Python, Perl, Java, C#, C++, Google Go, and Ruby.

Swift Language Support

SlickEdit now supports Swift, including Context Tagging® and smart editing features.

Regular Expression Enhancements

SlickEdit now emulates the Perl regular expression engine extremely closely, so you can use almost any valid Perl regular expression. This is important because Perl regular expressions are considered the industry standard.

  • No limit on the number of tagged expressions and named tagged expressions are supported. Previous limit was 10.
  • Look behind operators support variable length look behind. As far as we know, there is no other regular expression engine which supports this (not even Perl). For example, to match words that start with "a" or "ed" while excluding "a" or "ed" as part of the match, use (?<=\b(a|ed))[a-z]+.
  • Due to variable length look behind support, searching in reverse is more accurate. Consider the regular expression (abc)+. Now this will match the longest string of abc's in reverse. Searching in reverse for a floating point number [0-9]+([Ee][0-9]+|) now works the way you would expect in reverse also. See on-line help for more information.
  • See the online help for much more information on Perl regular expressions.

There are some extensions to Perl syntax which will not work in a Perl script. See on-line help for notes on extensions that will not work in a Perl script.

SlickEdit syntax regular expressions support all the features that Perl regular expressions support.

Non-Inclusive Column Selections

Traditionally, column selections (or block selections) in SlickEdit have been inclusive. This means at least one column is always selected.

We recognize that not everybody wants to work this way, so SlickEdit 2016 has added Non-Inclusive Column Selections.

Current Context Windows in DIFFzilla®

Before you know where you are going, you have to know where you are. Even though displays have gotten bigger and bigger, sometimes you cannot tell what function you are currently working in.

For years now, SlickEdit has had a curent context window docked at the top of the editor to help with this. Now this same convenience has come to DIFFzilla.

Only SlickEdit can offer this feature because it uses SlickEdit's powerful Context Tagging engine.

Find Symbol Changes in File

"When did this function change?" It's not a question that you find yourself asking all the time. But when you do need to know, you really need to know.

SlickEdit now has a tool that will find those changes for you. It supports Git, Subversion, Perforce, Mercurial, and CVS.

Only SlickEdit can offer this feature because it uses SlickEdit's powerful Context Tagging engine.

More Features in SlickEdit 2015

JavaScript

Improved Context Tagging for JavaScript

  • Most local functions are listed in the Defs tool window.
  • Improved object oriented support.

Python

Optionally supports cycling through indents with the Tab key.

Hex Editing

  • Support for switching into hex mode for any Unicode file encoding.
  • Switching into hex mode for Unicode files shows BOM if there is one.

Visual Studio Support

Support for Visual Studio 2016 for C++, C#, C# Device, VB Device, F#, J#.

Saving Unnamed Files

When exiting SlickEdit or closing a workspace, the "Save All" button on the List Modified dialog will save unnamed files to the <config>/autosave folder by default. You are no longer forced to give a name to an unnamed buffer when exiting SlickEdit or closing a workspace. Saving unnamed files generates backup history. Use the Backup History Browser to restore a deleted unnamed file that was previously saved.

Long Filenames

Support for filenames longer than 255 on Windows

See the full list of new features

SlickEdit 2014: What's New

Floating Window Group Layouts

Editors and tool windows go together like peanut butter and jelly.

You can now dock tool windows to floating window groups.

But it gets better! You can also create named layouts for floating window groups. This allows you to easily switch between tool window layouts. When you drag/drop a Document Tab to create a floating window group, SlickEdit will automatically apply your default layout.

New Beautifiers

Beautiful code is a right, not a privilege.

In addition to improved formatting of HTML, XML, JavaScript, and VBScript, we have added support for embedded PHP script.

SlickEdit will automatically apply your indenting, brace style, and other settings to code as you type, or you can format an entire file.

Multiple Cursors and Selections

If you like performing repetitive tasks, then you won't be interested in this feature. However we think most of you will love Multiple Cursors and Selections which allows you to perform multiple edits at the same time on different lines/selections.

Add cursors and selections individually with the mouse or keyboard. Many operations you normally use to operate on a single selection/cursor now work on multiple selections/cursors:

  • Cursor movement - left, right, up, down, next/prev word
  • Selection operations - upcase, lowcase, fill
  • Simple typing operations - Syntax expansion, word completion
  • Copy/paste - cursors are saved to clipboard and pasted to destination cursors
  • Automatically surround multiple selections with " ' ` ( ) [ ] { } - great, for example, to quote a list of selected words

Shelving

SlickEdit 2014's Shelving feature allows you to quickly save away modifications to a set of files that can be reverted, and restore the modifications at a later date. It is designed for when an interruption like a bug fix requires you to put aside a feature you are working on. Shelves are zip files that store the base version of the specified files as well as the modified versions. Currently Shelving supports Perforce, SVN, Git, Mercurial, and CVS.

New Backup History Browser

  • Allows you to restore files you have previously saved that have been deleted.
  • Gives you an easy way to view the files you have modified and saved recently. This is very useful if you want to back out some changes you have made and need to know what files you have been modifying.

Word Wrap Enhancements

  • Typing, Backspace, and Del keys all do full word wrap.
  • New Automatic Left Margin feature. Left margin determined based on first non blank character in the line.
  • Define a right margin, or fixed width right margin (another new feature).

More Features in SlickEdit 2014

Google Go

Google Go project support has been added, along with integrated debugging.

Python

We have improved Python Context Tagging support for run-times. Smart indenting for function parameter lists is also improved to support PEP 8 style guidelines.

C++

We have improved tagging and completion for C++11 and STL classes.

Visual Studio 2013

We have added support for opening native projects and solutions for C++, C#, C# Device, VB Device, F#, and J#

Visual Studio 2012 and 2013 Express

We have added support for opening native projects and solutions for C++, C#, VB, and F#

See the full list of new features