Readme Notes

SlickEdit® 2021 (v26.0.0) - Readme

Welcome to SlickEdit® 2021 (v26.0.0)

CONTENTS

Additional Documentation
Release Notes for v26.0.0

Copyright 1988-2021 SlickEdit Inc.

SlickEdit, Visual SlickEdit, Clipboard Inheritance, DIFFzilla, SmartPaste, Context Tagging, Slick-C, and Code Quick | Think Slick are registered trademarks of SlickEdit Inc. All other products or company names are used for identification purposes only and may be trademarks of their respective owners. Protected by U.S. Patent 5,710,926.


SlickEdit 2021

Fixes, Features, and Enhancements in SlickEdit 2021 (26.0.0)

  • Language Support
    • New Julia Language support
      • Color coding
      • Smart editing features including smart indenting, SmartPaste(TM), and reindenting on Tab
      • Support for translated backslash unicode abbreviation names to unicode characters.
      • Defs tool window lists tags and supports displaying statements
      • Tab key translation support for backslash unicode character specifications ("\alpha<Tab>")
      • Single and multi-file project support
      • Partial support for Context Tagging(TM)
      • Interactive REPL support (Read-Eval-Print-Loop)
    • New Terraform Language support
      • Color coding
      • Smart editing features including smart indenting, SmartPaste(TM), and reindenting on Tab
      • Defs tool window lists outer block headings for navigation
    • New Dart Language support (preliminary, work in progress)
      • Color coding
      • Defs tool window lists tags and supports displaying statements
      • Single and multi-file project support
      • Partial support for Context Tagging(TM)
      • Interactive REPL support (Read-Eval-Print-Loop)
      • Real time error support
    • C++ and Objective-C
      • Tagging supports new syntax introduced in C++20.
      • Support for tagging Objective-C function blocks.
      • Numerous other improvements to Objective-C context tagging.
      • Added Advanced C/C++ Advanced Option to treat nested structs like they are scoped in ANSI-C. This can help when working with mixed code.
    • Python Enhancements
      • Updated run-time tag file to Python 3.9.1
    • Swift Enhancements
      • Interactive REPL support (Read-Eval-Print-Loop)
  • Project Support
    • Enhanced wildcard support
      • Improved Visual Studio wildcard project support (i.e. csproj). Now automatically updates Project tool window, tag file, and file list in the background. No need to explicitly Refresh the Project tool window and/or rebuild the tag file.
      • When adding new files to the project, no explicit filenames are added to the project if they match existing wildcards.
      • Improved updating when new files matching wildcards are added while outside of SlickEdit.
      • The wildcard cache is saved when you close the workspace and restored when you open the workspace. For large wildcard projects, this can significantly reduce startup time when restoring the Project tool window. After opening the workspace, the wildcards are updated in the background.
      • Wildcards are updated in the background except when the wildcard cache is empty.
    • Improved Quick-Start project wizard
      • Quick-Start configuration lets you directly open projects or workspaces from other tools.
      • Project > Open Workspace... adds a new smart dialog to help you discover that SlickEdit can open projects and workspaces from other tools.
    • Improved New Project dialog
      • Project > New... dialog is now resizable.
      • Project > New... dialog adds ability to directly add a tree of source files, recursively or as a wildcard.
      • Project > New... will set the project working directory if the source tree added differs from the project directory.
  • Find and Replace
    • Improved ability to cancel a foreground search/replace. If your search is taking too long (more than 5 seconds), press any key (i.e like Esc) and you will be prompted to cancel. This works great for very slow regular expressions. For a foreground search or replace, keys are not checked until 5 seconds have gone by (status line starts showing percentages)y. Checking for keys significantly slow down the search which is why keys aren't checked for initially.
    • Improved ability to cancel a foreground multi-file search/replace. If your search is taking too long, press any key (i.e like Esc) and you will be prompted to cancel. This works great for very slow regular expressions. Note that a multi-file search and replace is always done in the foreground. Also, when you do a background multi-file search, currently open files are searched in the foreground.
    • Added threading support for "List current context" search option when searching multiple files. Significantly faster if less than half the files have a match.
  • Files
    • Open tool window now has an option to show indicator for files which are read-only on disk.
    • Open tool window now has an option to show indicator for files which are writable on disk.
  • DIFFzilla®
    • Next Diff and Prev Diff are now much faster.
    • Multi-file diff now much faster on extremely large files.
      • Multi-file diff now has a size limit to initially enforce a byte-by-byte compare ratther than an actual diff.
      • You can still diff by clicking the Diff button in the multi-file diff dialog.
    • Added support for horizontal scrolling using mouse.
  • Version Control Enhancements
    • General version control enhancements
      • Diff dialog now built in to Compare Workspace/Project/Directory with version control.
      • Shelving now supports adding a file to any existing shelf file, not just the ones listed in the menu.
      • Version Control Configuration setup re-tooled
        • Much easier to set the version control system for default, current workspace, and project.
        • Old separate list of SCC providers removed.
        • New lists make it easy to see which systems SlickEdit has specialized support for, SCC support for, and old-style command line support for.
        • Version Control menu now at top level.
        • Version Control Configuration now in its own category in Options dialog.
    • Git specific enhancements
      • Support for the following now integrated into SlickEdit
        • Checkout
          • Supports listing branches available locally, or listing all remote branches.
          • Has support to checkout a new branch.
        • Stash
        • Pop
        • Pull
        • Push
        • Blame
  • Tagging
    • New History category added to Auto-Complete which shows recent and frequently used completions you have used in the current scope.
    • Auto-Complete now supports suggesting completions for keywords and symbols you have made minor typos in.
    • Key parts of the Auto-Complete engine have been rewritten in native C++ for better performance
    • Added support for tagging source files in compressed tar archives.
    • Add symbol-info-help command to bring up symbol information like mouse-over does for symbol under cursor (Ctrl+Alt+Comma)
    • Add codehelp-update-context-stats for reporting local context tagging performance statistics
    • Add codehelp-tag-file-stats for reporting tag file size statistics for debugging performance issues
  • Debugger
    • TBD
  • Highlight Tool Window
    • New feature for highlighting word patterns.
    • Allows you to quickly add words, strings, or regular expressions to highlight
    • Allows you to define mulitple Highlight profiles
    • Allows you to select several style options for how to do the highlighting
    • Word patterns can be case-sensitive, case-insensitive, or language dependent
    • Word patterns can be restricted to a particular language mode
    • Works seamlessly with very large files
    • Uses extended color palette which adapts to the current color profile
    • Has option to show scroll bar markup for highlighted items.
  • Appearance Enhancements
    • Application Theme
      • Automatically detect Windows 10 Dark app mode and use our Dark theme
      • Improved Dark application color theme scroll bar colors to make it more visible
    • Fonts
      • Added per-language configuration for editor, minimap, and diff font and size
      • The Window > Font... dialog is now resizable
      • Font ligature support added for Windows 32-bit
      • Font ligature support added for Linux 64-bit (Qt5 version only,Request Qt5 Linux installer)
      • Improved Appearance > Fonts configuration dialog
    • Colors
      • Add ability to have a color scheme inherit settings from a predefined color scheme.
      • Added new color schemes: Charcoal, Ash, Stone, and Onyx
      • Added ability to change color profile per-buffer (View > Color...)
      • Added ability to change color profile for mini-map per-buffer (right-click > Color...)
      • Added per-language configuration for editor and minimap color profiles
      • Enhanced Color dialog to preview all colors in the list of colors
      • Added setting to Color dialog for default mini-map color profile
      • Improved code for resizing the Color configuration dialog
      • Added ability to import color themes from Visual Studio, Xcode, VSCode, and Eclipse
    • Symbol coloring
      • Each color profile now has colors defined for symbol coloring rules. This mitigates the need for a relationship between color profiles and a compatible symbol coloring scheme, as all built-in symbol coloring schemes are now compatible with all built-in color profiles.
      • Each color profile also has a palette of symbol coloring colors, selected as color-safe foreground colors tuned to the background canvas color of each color profile. These can be used when adding new symbol coloring rules instead of defining colors directly in the symbol coloring scheme (which may or may not be compatible with all color profiles).
      • Improved code for resizing the Symbol Coloring configuration dialog.
      • Add option to "Override Library Symbols" so that identifiers normally color coded as "Library Symbol" or "User Defined Keyword" can be colored by Symbol Coloring if their definition is found by Context Tagging.
    • Tree controls and tool windows
      • Tree controls now support smooth horizontal scrolling. Examples include the Defs tool window, Class, Projects, Symbols, Bookmarks, Annotations, References, and most Debug tool windows.
  • Printing
    • Added ability to select a color profile for printing.
    • This makes it easier to print color or grayscale even if you are using an editor color profile with a dark background.
  • F1 Edit Window Help Enhancements
    • When you press F1 on a function name or member name, SlickEdit will attempt to determine the package/namespace/class that the current word belongs to. The class (possibly with namespace/package) is added to the search URL so you are much more likely to get help on the right member. This is very helpful for highly typed languages like C#, Java, and C++.
    • Custom help URLs can be configured per Language. Multiple URLs can be configured based on what is found at the cursor.
  • Build Window Enhancements
    • Added option to hide VSLICKERRORPATH lines to reduce clutter in build window. These lines are hidden by default.
    • Added option to hide change directory commands to reduce clutter in build window. These lines are shown by default.
    • Improved Terminal and Build window completion support for tar, jar, and unzip commands.
    • Build commands with "Clear build window" set now queue up the clear command along with the build command. That way, you can still see all the output from the previous build command until it's finished.
  • Color Coding Engine improvements
    • Previously, you could only specify the color for the entire start and/or end text that was matched. Now you can specify multiple colors using match groups and/or offsets and lengths.
  • General
    • Much improved touch scrolling and touch support.
    • By default, when creating a new file without specifying a filename sets the filename to something like "Untitled YYYY-MM-DD". You can turn this new feature off. This makes it easier to identify Untitled files and use backup history. Also this allows you to save untitled files without specifying a name. If you close or rename (Save As) an Untitled file, the temp file will be deleted if necessary.
    • Added $<VarName> color coding for strings which supports them (PHP, PowerShell, Kotlin, Scala, Perl, Dart).
    • Improved multiple clipboard support. When you copy text to the clipboard, if the current clipboard is a text clipboard created by another application, that system clipboard is added to the multiple clipboards before your clipboard is added. This allows you to get back to older clipboards created outside of SlickEdit.
    • Windows: Added support for pasting FileNameW format clipboard as text. This allows you to use Ctrl+C on a filename in the Windows File Explorer and then paste it into SlickEdit.
    • Linux: Improved launcher support. Better support for Gnome launcher. Added menu item to create another instance of SlickEdit. Added commands for quickly editing the various .desktop launcher files (edit_desktop_shortcut,edit_app_shortcut,edit_diff_app_shortcut).
    • Find File (not to be confused with Find in Files) now supports matching files, directories, or both.
    • Improved multiple instance support. Added -sid <instance-id> invocation option which allows you to specify a specific instance. No instance id specifies the most recently activated instance.
    • Bookmarks will now attempt to restore the window the bookmark was set in when using One file per window mode. The Bookmark window id is saved and restored when you restart SlickEdit.
    • Added Softwrap line break cache. This helps scrolling performance in situations where there are long lines that are softwrapped.
    • Window > Font selection form is now resizable.
    • When using multiple cursors, the Tab key can now be used to align multiple lines of text at a common tab stop, making it very easy to align tabular data.
    • The copy-to-clipboard command (Ctrl+C) will now detect if there is no selection and the current line is the first line of a block statement, and prompt if you want to copy the entire block, just the current line, or the outer-most surrounding statement. This feature closely mirrors the behavior when using the cut-line or delete-line commands on the first line of a block statement, where you are prompted to just delete the current line, delete the entire block, or unsurround the block.
    • New copy-code-block command can be used with the cursor on the first line of a code block to copy the contents of a code block to the clipboard.
    • New copy-surround-block command can be used with the cursor on the first line of a statement block to copy the outer-most surrounding statement. This statement can then be pasted automatically triggering Dynamic Surround mode. It is also a very simple way to copy and paste an outer statement.
    • XMLDoc comment expansion will skip <returns> for classes, packages, constructors, destructors, and functions with void return types.
  • Documentation
    • Updated PDF emulation cheat sheets (found in slickedit/docs/ directory).
  • Not all fixes/changes have been listed.