Author Topic: SlickEdit 2018 (v23.0.1.2) - Now Available  (Read 11662 times)

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6862
  • Hero Points: 528
SlickEdit 2018 (v23.0.1.2) - Now Available
« on: February 14, 2019, 07:09:56 PM »
SlickEdit 2018 (v23.0.1.2)

Fixes, Features, and Enhancements in SlickEdit 2018 (v23.0.1.2)
  • Tagging
    • Fixed bug in Derived Classes tool window tree expansion. Also fixed similar bug in Base Classes tool window, and improved accuracy of both windows.
    • Fixed case where references does not correctly handle prefix expression which has 'new' operator.
    • Numerous improvements to handling of C++ STL, specifically focused on handling of std::map<>
      with Visual Studio 2015 and 2017 libraries as well as the latest Clang on macOS.
             
    • The code to handle turning off previewing a symbol which you hover the mouse over in the Defs tool window
      (and numerous other places) is incorrect.  This causes the Preview window to be reset when you move the mouse
      the affected tool windows.
    • Introduced new module "cidexpr.e" in order to cut down code size of "csymbols.e", allowing more development of STL support.
    • Fixed bug in "Add Import Statement" for Slick-C where it would insert a #include rather than a #import.
    • Fixed bug where we would not show the evaluated return type for type-inferred local variables which were declared in a C++11 style foreach statement.
             
    • Added support for template function argument type inference for C++ context tagging.
    • Fix for stack when doing completion on signals in VHDL.
    • Fixed bug where first auto-added import statement in Java would be placed at the
      end of the file instead of after the package statement.
             
    • When you do a find-tag from the command line, and specify a tag type or
      tag class name, the results reutrn should be restricted to that type/class.
                 
    • Fix for flickering issue when navigating between references in different files in the References tool window.
    • When generating the prototype for an virtual method override in C++, we need to
      generate the "const" keyword before the "override" keyword.
       
  • Language Support
    • Fix indent bug for the "END SUB" of a "SUB" definition in Visual Basic.
    • Typing "else<space>" in Matlab doesn't let you type the space
    • Fixed: Hovering mouse over Top Of File marker (off by default) in a CSS file erases the contents of line 1.
       
  • Find and Replace
    • Fix for Search Results remaining hidden if selective display tree is closed before search completes.
    • Fixed Find/Replace tool window Match Color label not displaying correct color search option.
    • Fixed issue with Find tool window, prompts for wrap with List all occurences enabled.
             
    • Fixed Find in Files reporting String not found on status line while searching files.
    • Fixed issues with Replace Preserve Case option with incremental search and restoring state.
             
    • Fixed initialization issues when using Incremental search option in Tool Find window.
       
  • DIFFzilla
    • Fix for "File '' not found" message when running vsdiff executable with no arguments.
    • Fix for issue where diffs are not detected when using files with classic Mac line endings.
    • Fix for using view line numbers setting if diff editor windows.
       
  • General
    • macOS: Fix for crash which occurs if there is a bad font definition installed.
    • For newer unsupported versions of Visual Studio solutions/projects, use one-time warning prompt followed by passive warning on message line/Output window.
    • Fix issue where unable to change active configuration (Build ] Set Active Configuration) when using Visual Studio projects.
             
    • Implement and enable "Close button affects active tab only" option for tool-windows.
             
    • Fix for icon sizing issue in Open File tool window.
    • Add on/off switch for automatic version control detection of Git and Subversion.
    • Avoid extra message box when user cancels out from Find File dialog when doing a Next Error (next-error).
    • Added def_next_error_try_ext_list macro variable which can contain a space delimited list of extensions to try if the error file has no extension and is not found.
    • Add option (default on) to limit the amount we can scroll horizontally
      in order to not scroll past then right-most column of visible text.
      This limit is enforced when responding to side-scroll events from a
      mouse wheel or touchpad, preventing users from unintentional gestures
      scrolling their code out of view.
       
  • Not all fixes/changes have been listed.

Fixes, Features, and Enhancements in SlickEdit 2018 (23.0.1)
  • File Handling
    • Streamlined File > New... dialog so that you can create new unnamed documents quickly without being prompted about adding the new file to the project.
    • Improved automatic column sizing in Open tool window.
    • Added right-click context menu option to open project properties for the project containing the current file.
       
  • Tagging
    • Added Tag Files to language-specific options and workspace properties.
    • Added mechanism to turn language-specific tag files on and off.
    • Improved appearance and layout of Tag Files dialog
    • Fixed bug where Defs and Class tool windows would select the wrong item (off by one).
    • Made "Show Statements" option in Defs tool window configurable on a per-language mode basis, as well as selectable per-file.
    • Fixed Defs Tool Window "Auto Expand" to actually not expand the tree when turned off.
    • Made "Expand One Level", "Expand Two Levels" or "Expand All" options persistent in Defs Tool Window.
    • Enabled "Cancel" button when rebuilding or updating the workspace tag file in the foreground.
    • Added context menu option for Find Symbol tool window to export symbol list to the References tool window
       
  • Language Support
    • C# Enhancements
      • Added support for recognizing inline "out" parameters as local variables
      • Added option for C# function argument help to automatically insert "ref" or "out" keywords.
      • Added support for C# extension methods
      • Fixed parsing performance bug parsing long initializer lists of 'new' expressions
      • #region ... #endregion blocks not show up as annotations in the Defs tool window
      • #note, #todo, and #warning statements are tagged as annotations and are shown in the Defs tool window
      • Added Auto-Import and Organize Imports support for C#
      • Added command (refactor_goto_import) to jump to the using statement for a symbol in a C# file to see where a symbol comes from
             
    • Java Enhancements
      • Minor performance improvements for Auto-Import and Organize Imports
      • Added command (refactor_goto_import) to jump to the import statement for a symbol in a Java file to see where a symbol comes from
             
    • C++ Enhancements
      • #region ... #endregion blocks now show up as annotations in the Defs tool window
      • #note, #todo, and #warning statements are tagged as annotations and are shown in the Defs tool window
      • Added command (refactor_add_import) to add a #include (and/or using statement) for the symbol under the cursor
      • Added command (refactor_goto_import) to jump to the #include or using statement for a symbol in a C++ file to see where a symbol comes from
             
    • COBOL Fixes
      • Added support for searching for references to a COPY book.
             
    • VHDL Fixes
      • Fixed local variable parsing for VHDL process.
             
    • Fortran Fixes
      • Fixed case where an IF statement with a missing close paren would cause a hang parsing Fortran code.
         
       
  • Comments
    • Fix bug where JavaDoc and XMLDoc editor would select wrong symbol initially (off by one).
    • Update Doc Comment... fix bug where this command could overwrite the class definition
       
  • DIFFzilla
    • Fixed crash bug.
       
  • General
    • Improved C++ support for handling the Enter key when there is a label is in column 1
    • Peformance improvement for _isdiffed() function. Improves performance in general when you have a large number of files open.
    • Improved color coding for forced wrapped lines.
    • Drastrically improved performance for handling large CDATA sections in XML or HTML.
    • Fix so when restoring from an autosave crash, the language mode gets set.
    • Fix for cursor up/down in hex files.
    • Fix for bad syntax expansion indents that can happen right before a closing brace.
    • Fix for problem where a debug target with "Build first" enabled that runs the "mvnDebug" command could get in an unbreakable retry loop when the build fails.
    • Fix for class/interface syntax expansion for Java to honor the configured brace style.
    • Fix for problem where syntax expansions doesn't always honor per-docment tab settings.  Also fixes a problem where inferred settings via Adaptive Formatting could be leaked between different documents.
    • Fix for C++ constructor initializer list auto-complete and symbol coloring for C++11 delegating constructors and parent class constructors.
    • Fixes for better handling Mono projects with spaces in paths.
    • Fix for Enter key not indenting correctly when cursor is before C++ case or default keywords.
    • Fix for Vim emulation Slick-C stack which occurs when attempt to run keyboard macro which doesn't exist (i.e @a).
    • Windows only: Fix for "Mouse selection creates clipboard" so can paste a character selection into a column selection created with the mouse.
    • Fix for C++ bad brace placement after a class/struct/union definition when the brace style is Same Line.
    • Fix for Slick-C stack running 'dload' command.
    • Fix problem for Gradle project imports for sub-projects that have dashes in the name.  Also fixes command lists for the root project so all commands are selectable from the Gradle Options page.
    • Fix error handling for invalid dates in Date picker for Find in Files, Advanced Filtering.
    • Fix for bug with auto restore. When specify workspace on invocation, dialog history and other info not restored.
    • Fix for some hypertext links in keybindings dialog command help text not working.
    • VIM emulation: Changed error message to indicate "Already in normal mode" instead of command mode.
    • Fix for Slick-C stack in Debug Memory tool windows for invalid size values.
    • Auto-Complete should show syntax expansion options even if a larger minimum prefix length for syntax expansion on space is set.
    • Fix for column sizing problem in Defs tool window when in XML outline mode.
    • Fix for bugs in dynamic surround for Python when at the bottom of the file.
    • Fix for bug where Defs tool window would not force update for large files that used slower symbol searching technique (proc-search). Added option to tune file size limit for slower symbol searching  technique.
    • Improved documentation comment scanning so that we stop scanning if we encounter a blank line between two comment groups.
    • Fix for bug where "Diff XXX with version YYY" from the Version Control history dialog would fail to pull the correct versions from Subversion. Fix for bug in "Diff XXX with other version" so that it correctly handles the case where the two versions come from different branches. Also enhanced "Diff XXX with other version" to start with version XXX initially selected.
    • Make sure that Update documentation comment and Reflow comment are disabled in read-only mode.
    • More general "CompatibleVersions" checks for hot fixes.
    • Fix for Slick-C stack/crash when initializing Find/MiniFind with selected text for long lines.
    • Fix for Find and Replace Tool Window > Find Files: Find button not visible.
    • Fix for Defs Tool Window so that disabling Auto Expand actually does disable auto-expanding the tree. Make Expand One Level, Expand Two Levels, and Expand Children settings persistent.
    • Fix for Vim search issue when using "Always highlight search results" highlighting results outside original search buffer.
    • Template Manager should not allow Installed Templates to be modified.
    • Fix for issues with duplicates and key up/key down in Look in drop down in Find in Files/Replace in Files.
    • Fix for backspace to wrap when appropriate.
    • Diff fix for hang when converting EOL characters when they don't match between files.
    • When debugging, hovering over a variable like "x509" should show the current value and not numeric conversions.
    • Fix bug in Quick Refactoring (rename) where it would not screen out tag files that did not reference the language for the symbol being renamed.
    • Fix for issue setting correct environment for Visual Studio 2008 solutions.
Fixes, Features, and Enhancements in SlickEdit 2018 (23.0.0)
  • Language Support
    • New R Language Support
      • Color Coding
      • Smart editing features include smart indenting, SmartPaste(TM), and reindenting on Tab
      • Multi-file and single file project support
      • Context Tagging(TM)
             
    • New Kotlin Support
      • Color Coding
      • Smart editing features include smart indenting, SmartPaste(TM), and reindenting on Tab
      • Gradle build support
             
    • Java Enhancements
      • Gradle build support. New project template has been added for creating a Java project which builds using gradle.
      • Improve performance of namespace import handling.
      • Fix context tagging for Java template parameters with one or more extends clauses
      • Fix parsing of statements that are purely expressions, for example: new SomeThread().run();
             
    • New Google Protocol Buffers Language Support
      • Color Coding
      • Smart editing features include smart indenting and SmartPaste(TM).
      • Context Tagging(TM)
             
    • Scala Enhancements
      • New debugging Support
      • New support for Gradle projects with multiple project
      • Improved smart indenting
      • Added support for insert braces immediately and dynamic surround.
      • Added quick brace/unbrace support
             
    • Groovy Enhancements
      • Now supports Gradle projects with multiple project
      • Improved smart indenting
      • Added quick brace/unbrace support
             
    • C/C++ Enhancements
      • Added Context Tagging(TM) support for C++17 structured bindings.
      • Fixed parsing of C++ parent class specifications when parent class is qualified with a leading ::
      • Improv0ed parsing and context tagging for C++11 user-defined string literals
      • Fixed parsing for C++11 universal initalizers using braces in constructor initializer lists
      • Fixed parsing of C++11 template arguments when template argument name is omitted
      • C++11 lambda expressions are now parsed correctly
      • Improved Context Tagging and Symbol coloring for constructor initializer lists, especially C++11 delegating constructors
      • Changed option to automatically process #defines within the current file to be off by default
      • Added option (off by default) to pull #defines from current project configuration and use them as if they were defined in the C/C++ Preprocessing options
      • Added auto-complete suggestions for C/C++ string escape sequences (backslash)
      • Added auto-complete suggestions for C/C++ printf format specifiers (percent)
      • C++17 support for the following:
                        [ul]
                           
        • u8 character literal
        • Hexadecimal floating point literals
        • fold expressions (nothing special to do)
        • template <auto>
        • class template argument deduction -- not supported at this time
        • constexpr if
        • selection statements with initializer
        • constexpr lambdas
        • lambda capture of *this
        • inline variables
        • structured bindings
        • byte type
                        [/ul]
                   
             
    • C# Enhancments
      • Updated parsing to C# 6.0 Specification and fixed many Context Tagging bugs
      • Enabled statement-level tagging for C#
      • Anonymous functions and delegates are now parsed correctly
             
    • System Verilog Enhancements
      • Improved support for interface modport parameter tagging
      • Improved error recovery for incomplete declarations when tagging
             
    • Python Enhancements
      • Debugger performance improved especially for deep call stacks (like recursive functions)
             
    • Ada Enhancements
      • Improved Enter and Space smart indenting for begin/end handling.
             
    • Markdown
      • Improved color coding. Added embedded color coding support for ```{R options} and ```Language
         
       
  • Project Support
    • Support for Visual Studio 2017 .NET Core projects. View project file in Project tool window. Project templates for building with dotnet command line tool instead of msbuild
       
  • Appearance Enhancements
    • Minimap
      • Zoom In/Out support
      • Configurable width. Select fixed width or percentage of total width and maximum width
      • Configure click to scroll or move cursor to line
      • Optionally show tooltip with lines in a larger font. Move focus into tooltip editor control by holding down Ctrl key. Can copy/paste lines from tooltip editor control.
      • Optionally show modified lines.
      • Optionally show vertical lines.
             
    • Added font ligature support on macOS.
       
  • Tagging
    • The References tool window is now stackable, making it possible to navigate through multiple sets of referencing search results easily.
    • Added option to disable preview of the symbol under the cursor in the Preview tool window.
    • Added option to disable displaying comments for the symbol under the cursor in the Preview tool window.
    • Added option to display evaluated return type of symbol in Preview tool window.  This is helpful for type-inferred variables.
    • Added option to display evaluated return type of symbols on mouse-over.  This is helpful for type-inferred variables.
    • Added option to activate the Preview Tool window when a symbol is selected in the Select Symbol dialog. Before, it would do this by default.
    • The Preview tool window and the References Preview now support wfont-zoom-in/out (Ctrl +/-) and wfont-unzoom (Ctrl+0) keyboard shortcuts.
    • Added new command (push_tag_filter_overloads), which behaves like push-tag, but temporarily enables the option to filter out non-matching function overloads.
       
  • DIFFzilla
    • The diff engine has been rewritten to be faster. This provides faster backup history and diffs. Some cases are many times faster. Diff much larger files and get good performance.
    • Undo information is retained after using diff on an edit buffer.
       
  • Debugger
    • Added support for Mono Soft Debugger protocol
    • Note:  The Mono project implementation of the SDB protocol is currently very young and fragile. 
                         It is easy for debugging to cause the Mono interpreter to crash. 
                         This is a problem with the Mono debugger implementation and not a problem with
                         SlickEdit's support of the protocol and/or SlickEdit's debugger integration.
       
  • Files
    • Added support for opening files in Unix cpio files (.cpio), compressed cpio files (.cpgz), and Linux RPM files (.rpm)
       
  • Vim Emulation Enhancements
    • New option for using Vim syntax regular expressions.
    • Added support for Auto deselect on cursor movement option for CUA selections. For example, creating a non-Vim-like selection with Shift+Arrow keys and then moving the cursor will deselect if the option for it is set (it's on by default).
    • Added support for "Leaved selected" search option. Supports '/' command and some others.
    • Added support for di", da",  di', da', di`, and da` as well as other quoted string operations.
       
  • Binary File Enhancements
    • Unknown files which appear to contain binary data use the "Binary" language mode.
       
  • Find and Replace
    • New Default Excludes option and ability to excluding files which appear to have binary contents when multi-file searching. The Excludes combo box list now allows you to choose <Default Excludes> or <Binary Files>.  When <Binary Files> is chosen (or <Default Excludes> which contains <Binary Files> by default), files that appear to have  binary data are excluded from the search. This is useful when searching files with a * or *.* wildcard. For example, search Unix shell scripts with no file extensions while excluding executables.
    • The "Look in zip/word/excel files" check box now supports .tar, .gz, .Z files, .cpio, .cpgz, and .rpm files.
    • "List current context" check box now supports more tag types: Class, Interface, Struct, Union, Enum, Package/Namespace, Programs.
    • Improved performance using "List current context" option.
    • Multi-file find or replace now supports "Advanced Filtering" options. Optionally specify a maximum file size and/or file modified time range.
    • "Look in:" now supports specifying file lists.
    • "Look in:" now supports specifying the files in the Search Results tool window. This can also be initiated from the new "Find in Files using Search Results" context menu item in the Search Results tool window.
    • The "Filter search results" dialog now supports filtering by files in the results by using ant-like syntax to include/exclude, similar to File types/Exclude syntax from Find in Files.
    • Search Results tool window context menu supports generating a file list with the new "Generated File List" menu item.
       
  • General
    • Line endings and encoding now displayed in status line.
    • New checking for inconsistent line endings feature. Supports making the line endings consistent. You can turn it off and use the check_line_endings command Edit&gt;Other&gt;Check Line Endings when you want to check the current file.
    • Hex view now supports specifying the number of columns and the number of bytes per column on a per language basis.
    • New Directory Aliases
    • Better smart enter support for nested unbraced control flow blocks for C++, C#, Java, Object-C, Rust, and D.
    • Added experimental +sopenro invocation option which tries to force all opened files to be read-only.
    • Fix for regex subroutine support bug.
    • Fix for regex minimal matching performance optimization bug.
    • Added Contents>Send to Search Results to References and Find Symbol Tool window to send contents to Search Results.

       
  • Not all fixes/changes have been listed.
« Last Edit: September 27, 2019, 02:22:11 AM by Rodney »