Files and Editing
The MDI layout has been completely rewritten to support multiple groups of document tabs. Document tabs (and groups of tabs) can be floated as separate top-level windows, allowing better use of multiple monitors Files can be dragged and dropped to move between tab groups or to create new groups. The new document tabs offer much better performance than the previous File Tabs tool window, better supporting users who prefer to keep many files open.
Use to surround existing lines of code with a new structure such as: if, for, while, and try. The existing code is automatically placed inside braces and indented. Additional structures can also be defined for Surround With.
Automatically formats line selections when pasted. The pasted code is formatted to match the indentation of the new location and the brace style adjusted to match your settings.
Surround existing lines of code with block statements or tags. Dynamic Surround allows you to expand a block after syntax expansion, using the arrow keys to move the end of the block up or down. Surround With allows you to select lines and then choose a block structure or tag.
SlickEdit is the first product to beautify C++ as you type. Even with the complexity and ambiguous syntax of C++, re-spacing options for all operators including * are supported.
Expands common block structures (if, for, try, ...) when the initial keyword is typed. For example, when "if" is typed followed by a space, SlickEdit inserts the parentheses for the condition and the braces. You can define additional structures to be expanded.
Completions reduce keystrokes by automatically completing symbols as you type. After typing the first few characters of a symbol, a brief pause will pop up a list of possible completions. This list is comprised of matching symbols in the tag database and matching lines of code in the current buffer. If a line match is selected you can add successively more text from that line using the complete-more command (Ctrl+Shift+Space).
Complete the text at the cursor by matching existing text in your file.
Use to automate the creation of common code elements, like a standard class implementation or design patterns. You can create templates for a whole file or multiple files.
Define short names that can be expanded to insert text into a file or directory path in SlickEdit, using (Ctrl+Space). Aliases can automatically insert the date, time, cursor placement, or prompt for parameters.
Perform multiple edits at the same time on different lines/selections.
Formats block comments as you edit them, automatically wrapping based on your settings. Comment wrapping preserves comment border characters.
Line selections for single or multiple lines are pasted above or below the current line of code (depending upon "Line insert style" setting), saving you from tediously positioning the cursor at the beginning or end of a line prior to pasting the selected lines.
Symbol Analysis and Navigation
Use (Ctrl+Dot) to jump from a symbol to its definition. Use (Ctrl+/) to list all of the references for the current symbol and optionally jump to the first reference. These operations set a bookmark that can be popped to return you to the previous location (Ctrl+Comma). Use (Ctrl+Dot) to jump from a symbol to the symbol definition.
Displays the definition of the current symbol and associated documentation in the editor window, allowing you to see the definition without having to open a separate buffer. The Preview window also shows information for other windows, including the Class, Defs, References, and Symbols tool windows. By default, Preview is docked into a tab group along the bottom of the editor. It can also be displayed by selecting View > Tool Windows > Preview.
Displays the list of references for a symbol. Use (Ctrl+/) to open the References view for the current symbol, or you can type or select a symbol in the Symbol drop-down list. Click on a reference to preview it. Double-click to jump to it.
Typing a member access operator (for example, '.' in Java' or "->" in C++) displays a list of the members for the corresponding object or symbol. To access this feature on demand, press Alt+Dot.
- Show Comments - Comments are displayed in a mini HTML window which supports rendering Javadoc, Doxygen, and XMLdoc comments. When a symbol has multiple definitions or overloads, and multiple sets of comments, the comments will indicate that you are looking at item "< 1 of n >". Click on the arrows or use Ctrl+PgUp and Ctrl+PgDn to cycle through the comment sets.
- Completion on Space - Pressing the spacebar when List Members is displayed will insert the longest unique matching prefix from the symbols in the list. For example, if the list contains FLAG_CHAR and FLAG_LONG, then typing FL followed by a space completes the line of code up to FLAG_.
Tools, Integration, Customization
You don't write bugs. We understand. But sometimes you have to debug somebody else's (not yours!) code.
SlickEdit's integrated debugging provides a convenient and easy to use front-end for many debuggers. Set breakpoints, step, inspect the stack, view variables/members - all the features you expect from a debugger. The following is a list of debuggers supported along with any special features unique to our integration:
- GNU C/C++ GDB - Supports attaching to running process, core file, and remote.
- Java JDWP
- WinDbg - Supports attaching to running process, executable, and dump file.
- Google Go
- Python pydbgp - Supports remote debugging.
- Perl perldb - Supports remote debugging.
- Ruby rdbgp - Supports remote debugging.
- PHP (using Xdebug plugin) - Supports remote debugging.
- Android JVM and NDK (using gdb)
You shouldn't have to leave the comfort of your own editor simply to interact with your (or your team's) version control system.
SlickEdit integrates with popular version control systems including: Git, Mercurial, Subversion, CVS, Perforce, PVCS, and ClearCase. Common operations, like checkin and checkout, are of course integrated and just a click away. SlickEdit also leverages the power of DIFFzilla, its powerful file differencing tool, to make it easy to view differences between versions of a file, or even view all differences in the current project/workspace. More on version control.
Use to compare directories and files. When comparing files, the diff highlights the lines and characters that do not match. You can edit the files in the diff view using many of the features available in the editor window. The diff is automatically updated as you edit. More on DIFFzilla.
Each time a file is saved, the current version is added to the Backup History. You can view the list of versions and compare the current version against a previous version or restore a previous version. This creates a detailed history for versions that are not ready to be checked in.
Use the Color Coding engine to reduce the number of false positives in your searches by restricting searches based on program syntax. For example, you can limit a search to find or omit comments, as well as restrict or omit string literals. Click the Color button on the Find and Replace tool window to configure search options.
Allows you to type a regular expression and run it against test cases, highlighting matched expressions and groups.
Choose from fifteen keyboard emulations, containing the key bindings and behaviors necessary to emulate other editors. Emulation charts are available in the "docs" subdirectory of your SlickEdit installation.
Use macros to automate frequently repeated tasks. Recorded macros capture a sequence of operations as you apply them and can be replayed at a later time. Programmable macros use the SlickEdit Slick-C® programming language to customize and extend the functionality of SlickEdit.
The command line provides instant access to the most powerful SlickEdit commands without ever touching the mouse. To activate the command line, press Escape (Ctrl+A in Vim emulation or Alt+X in GNU Emacs emulation).
Here is a top-20 list of SlickEdit commands:
- e file Edit a file
- sa file Save file as
- number Go to line number
- f symbol Find a symbol
- /search_string/options Search for a string
- c/search/replace/options Replace a string
- gt/search/options Substring search for a symbol
- sb name Set a bookmark
- gb name Jump to a bookmark
- help topic View help on topic
- man command Show Unix man page
- cd directory Change directory
- dir directory Show directory in the file manager
- list wildcards Show directory tree in the file manager
- del filename Delete file
- pushd directory Push directory
- popd Pop directory
- set env=value Set environment variable
- dos command Execute command outside of editor
- math expr Evaluate expression