Very impressive article Jake! You are very talented.
nice article! i love seeing the breakdowns.
Designed by developers for developers, SlickEdit’s award-winning source code and text editor is respected for its rich set of coding tools and powerful time-saving programming features. A true cross-platform, multi-language editor, SlickEdit 2014 gives programmers the ability to code in over 40 languages on 9 platforms.
Files and Editing
Multiple Document Group Interface
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.
Beautify While Typing
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).
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.
Preview Tool Window
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)
Version Control Integration
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.
DIFFzilla® – Editable, Dynamic Diff Tool
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.