Please send all bug reports and suggestions for features to
New Planet Software.
6.2
Added auto-detection of indenting style: spaces or tabs. If the file contains a mix, whitespace is made visible so you can clean it up.
Rudimentary support for vi emulation. You can turn it on in Editor Preferences dialog.
Line index input in Editor windows accepts $ as shortcut for "last line."
Styling for Java annotations. (What took me so long?)
Fixed crash when requesting version control diff for deleted file.
Fixed bug in "Replace all forward" when using "Entire word only," so it replaces all occurrences instead of only the first one.
6.1.2
Support for automatic closing of HTML and JSP tags. See the html-auto-close script included in the package.
Added command line option --reopen.
jcc --search now works even if Code Crusader is not already running.
Preserves ownership of text files and preferences file if you run as root.
6.1.1
Work around for strange X11 behavior that could cause Code Crusader to hang when run for the first time.
6.1
Major changes
Graphical diff for Git. Also added command line option --git-diff.
Enhanced File Types dialog to allow file name patterns, e.g., core.*, in addition to file suffixes.
Anti-alised text.
Added support for Linux Large File System (LFS).
Project
Fixed Config button in Project window to search for pom.xml (Maven) and build.xml (ant) if no Makefile is found.
When a program crashes, Code Crusader tries to find the core file and print the location so you can Ctrl-double-click to open it with Code Medic.
Text Editor
Added "Clean all ws & alignment" and "Clean selected ws & align" to Edit menu. "Clean all whitespace" and "Clean selected ws" no longer adjust alignment.
Fixed C#, Java, JavaScript, and PHP stylers to correctly style /**/.
Miscellaneous
Fixed window placement issues on OS X.
Fixed bug in "Print with styles..." so Print button is enabled.
6.0.2
Fixed crash when closing project without first closing the Compiler Output window.
Fixed crash when quitting with multiple Compiler Output windows open.
6.0.1
Removed Ctrl-Tab shortcut from Config button in Project window. Ctrl-Tab is now the shortcut for switching between source and header files, regardless of the menu shortcut style set in the Miscellaneous Preferences dialog.
Fixed rare but very annoying crash during tab completion introduced in version 6.0.
Fixed bug so empty, invisible Program Output windows are closed when a task finishes.
6.0
Major changes
Thanks to ctags 5.8, added support for Adobe Flash, BlitzBasic, PureBasic, and FreeBasic, Java enums, and Matlab. (requires ctags 5.8.0-2)
Added syntax highlighting and keyword completion for JSP pages.
Symbol table and inheritance trees are updated in the background. (Finally!)
Added spell checking and whitespace cleaning options to Edit menu. (Finally!)
Updated graphical Subversion diff to work with Subversion 1.4, 1.5, and 1.6. Also added options in the dialog window to compare with the tip of trunk, any branch, or any tag.
Added command line options --cvs-diff and --svn-diff.
Window docking finally works with all window managers.
Project
Compile output recognizes errors printed by Maven builds.
If you rename a file that is under version control, Code Crusader will attempt to invoke the appropriate version control command to rename the file.
Finally connected project and editor windows: If you rename a file (via Ctrl-Return in the file name display at the bottom) in the Editor window, all open projects that contain that file will be updated.
Symbol database is now updated after the build process is finished, since the build process may generate files that need to be parsed.
Symbol database is updated after any version control operation.
Tasks that do not open an output window now report errors in an alert window.
Project files open faster.
Added command line option --no-reopen to speed opening projects over a slow network connection.
Fixed bug that caused crash when closing a project while Symbol Search Results windows were open.
Displays confirmation dialog when removing files from a project. This is a cop-out, since undo is the right way to handle this, but in my defense, removing files is an uncommon operation, and undo is very time consuming to implement.
Fixed Compiler Output window so Tasks menu is always for the project that was compiled, not for the active project.
Fixed bug so it no longer creates .cvsignore in directories managed by git.
Fixed bug which caused symlinks to be reparsed every time a project was opened.
Text Editor
Added "Previous search/compile result" and "Next search/compile result" to Search menu. (Finally!) This allows scanning through the active search or compile results without having to return to the Search Results or Compiler Output window. The active Search Results or Compiler Output window is highlighted on the Windows menu.
Improved character actions to support automatic closing of XML tags. See the xml-auto-close script included in the package.
Created clean_indentation script for XML files.
Implemented "hungry delete" so Backspace and Delete eat whitespace to the next tab stop when the "Tab inserts spaces" option is turned on. If the option is not turned on, the Shift key turns on "hungry delete." If the option is on, the Shift key turns off "hungry delete."
Added "Clean all whitespace" and "Clean selection" to Edit menu. Based on the "tab inserts spaces" preference, this cleans the indentation of each line and strips trailing whitespace.
Added "Tab inserts spaces" option to Settings menu.
Added support for vi and emacs embedded configuration options: tab-width & indent-tabs-mode for emacs and tabstop & autoindent for vi.
If you rename a file that is under version control (Ctrl-Return in the file name input area), Code Crusader will attempt to invoke the appropriate version control command to rename the file.
Ctrl-Return in Line input field computes the location based only on hard line breaks, not soft line breaks from word wrapping. (If you are using Windows-style shortcuts, Meta-Return gives this behavior.)
Updated Bourne Shell syntax highlighting to recognize array variables and the !? history operator.
Replaced "Sections" menu with "Ids" menu in HTML files.
Improved syntax highlighting of HTML/XML tags. Closing tag gets same style as opening tag, if closing tag is not explicitly given a style. Trailing slash is no longer treated as part of tag name. Tag name takes precedence over XML namespace.
Fixed styling for JavaScript embedded in HTML so comments stop at </script> tags.
Added support for yuidoc doctags in JavaScript.
Preserves file permissions when you press Ctrl-Return (to rename) in the file name input area at the bottom of an Editor window.
"Replace all" is now atomic, so a single undo reverts the entire operation. (Finally!)
Added "Show in file manager" to File menu in Editor windows. On OS X, this script will display the file in the Finder.
Added option to import/export character actions from Actions & Macros preference dialog.
Added option to turn off pasting via middle-click.
Fixed "Open selection as file name or URL" to work with URL's embedded in XML.
Fixed Control-space and Control-backspace so they only page when the editor is read-only. This makes Control-space less annoying when used for symbol completion.
Optimized opening DOS-format and binary files.
Fixed bug that prevented dragging text from one docked window to another.
Fixed bug so correct line number is passed to commands when text lines wrap in window.
Fixed bug that caused Code Crusader to hang sometimes while editing Perl scripts.
Fixed bug in search/replace that caused replace to fail if the regular expression had look-behind or look-ahead assertions.
Fixed bug in --diff command line option so "Redo diff" button works when you specify relative paths.
Miscellaneous
Added "New shell..." item to File menu.
Added option to exclude paths when searching a directory tree in the Search Text dialog. The exclusion list is a wildcard filter, just like the file name filter.
Added awareness of Xinerama, so it works better with 2 monitors.
Added "Desktop" button in all Choose File and Save File dialogs.
If you want to open a project via the "Recent projects" menu, but you do not want to reopen all the files that were open last time, hold down the Shift key while selecting the project from the menu. (Technically, it inverts the "Reopen text files when project is opened" option in the Project Preferences dialog.)
Mouse wheel now scrolls smaller increments on OS X.
Added support for horizontal scrolling. This is especially useful on Macintosh trackpads that support gestures.
Fixed --vcs-commit to never dock the window.
When Code Crusader is restarted without arguments, it now only restores the previously open documents once, instead of once per re-opened project.
Added --quit option which acts just like the "Quit" item on the File menu.
Ctrl-Page-Up/Down cycles through docked windows in a pane.
Each pane in the dock remembers the previously selected tab, so if you open a file and then close it again, you will return to the file you were working with.
Supports the latest updates to the XDND protocol.
5.2.1
Project
Fixed bug that prevented reading old versions of project files.
Text Editor
Fixed bug in PHP syntax highlighting that caused crash when adjacent PHP blocks were placed inside <script>...</script>.
Miscellaneous
Added Meta-F shortcut for "Search files..." in Project, File List, Symbol Browser, and Inheritance Tree windows.
5.2.0
Major changes
Added support for graphical Subversion diff.
Project
Fixed bug in Java inheritance tree parser to ignore comments embedded in package, import, and class declaration statements.
Fixed bug so new projects automatically build the symbol database from the files in the project's directory.
Text Editor
Fixed Functions menu so it ignores the namespace option for languages that don't have it.
Fixed PHP keyword completion to include JavaScript keywords and functions.
Fixed PHP syntax highlighting to recognize JavaScript regular expressions.
Miscellaneous
Added Close button in tab for each docked window and augmented the context menu for the tabs.
Fixed bug in CVS diff so it now uses CVS/Repository instead of CVSROOT.
Added option for $p in "Show file in file manager" command.
Fixed class trees, symbol browser, etc. to offer to create a file if it doesn't exist.
5.1.1
Project
Improved extraction of function names from JavaScript files. (requires ctags 5.6-3)
Text Editor
Read only files are now indicated by a red border around the file icon (and drag source!) in the status bar of each window.
Updated Perl syntax highlighting to recognize file globs.
Fixed bug so scripts work again.
Changed default focus behavior to work better with most window managers. Windows stacking should no longer get rearranged when switching virtual desktops.
"Compare with.." commands now save the file, if necessary.
5.1.0
Project
Symbol browser now includes JavaScript functions defined in PHP files. (requires ctags 5.6-2)
Text Editor
Added Targets menu to Ant build files (build.xml).
Functions menu in PHP files now includes JavaScript functions. (requires ctags 5.6-2)
Fixed bug in Functions menu so it updates correctly while editing a read-only file.
Updated JavaScript syntax highlighting to recognize regular expressions.
Updated Perl syntax highlighting to recognize simple here-documents.
Miscellaneous
Fixed bug so text files containing CVS conflicts do not produce warning about invalid project.
Smoother scrolling on Mac OS X.
5.0.3
Project
Only displays "checked out" status if the project is using CVS and CVSREAD is set.
When a project is opened, it now warns if the file contains CVS conflicts.
Fixed crash when dropping files already in a project from a file manager to the top of a group.
Text Editor
Fixed bug so Multifile Replace All does not hang after the process is finished.
Miscellaneous
During Drag-and-Drop, if the mouse is moved over a group of tabs, the tab under the mouse is automatically selected.
Fixed bug so window docks cannot be shrunk below a safe, minimum size. Some windows may still pop out of the dock because they no longer fit, but the program will not crash.
Fixed bug so commands run with the special @ path work when not all the selected files are in the same directory.
5.0.2
Project
Fixed bug that caused crash when using Choose File Dialog to change the path of an item in the project.
5.0.1
Project
Fixed bug that caused projects to not open if the "Warn before open old project" option was turned on.
5.0.0
Major changes
Added support for C#, Erlang, SML, and JavaScript. (requires ctags 5.5.4)
Added syntax highlighting for JavaScript inside PHP files, Eiffel, and Python.
Added support for CMake as an alternative to makemake.
Regular expression search and replace now uses Perl syntax, thanks to the PCRE package. The most important features that this provides are backreferences and named subexpressions.
Fixed lots of issues related to working with version control, e.g., CVS tab in "Compare files" dialog, check-out status in Project window, "This task invokes version control" flag for tasks, CVS-merge-friendly .jcc file, and preferences moved from .jcc to .jup file.
Project
Pressing Ctrl-Return after editing a file name renames the existing file.
Symbol browser now includes PHP defined constants, ASP variables, and Vim autocommand groups. (requires ctags 5.5.4)
Updated Compiler Output window to recognize and merge multi-line messages from gcc. This makes double-spaced output easier to read.
Updated Compiler Output window to understand javac messages.
Updated Compiler Output window to understand Unicode characters printed by gcc 4.x.
Fixed "Add directory tree..." so it ignores CVS and SCCS directories.
Fixed bug so symbol table is now updated when a file's path is changed.
Symbol browser now reports if it cannot find a file.
Java Class Tree
Fixed bug in parser so package is extracted from package statement, not the file path.
Fixed parser so it searches imported classes for the superclasses, if they are not fully qualified.
Text Editor
Replaced "Read only" checkbox with Settings menu to allow options for each individual window to be changed.
Added option in Settings menu to make whitespace visible. For maximum readability, spaces between words are not drawn.
Created scripts for context menu to tabify/untabify, upper/lower case, comment/uncomment, etc. These scripts are in the scripts subdirectory in the Code Crusader package.
Added "Open directory" option to right-click Scripts menu.
Scripts menu no longer shows CVS and SCCS directories.
Added "Force shift left" item to Edit menu. This shifts the selected lines left even if some lines do not start with enough whitespace.
Added "Compare with CVS" and other useful shortcuts to File menu.
Finally fixed editor so undoing to latest save point clears "needs save" flag.
Fixed file name input at bottom of window so typing only a file name opens Save File dialog instead of saving file in unexpected places (actually, the current working directory).
Fixed file name input at bottom of window so it creates the path if it does not already exist.
Fixed bug so file differences are shown correctly when file contains very, very long lines.
F12 searches for definition of selected symbol. Shift-F12 searches for declaration of selected symbol.
Added "Manage project" sub-menu to Tasks menu for easier access to project windows.
Fixed bug so "Add to project" shortcuts work immediately after saving a new file.
Fixed Ctrl-double-click behavior so it stops at (,[,{. This makes it easier to open files from a Java stack trace dump.
Finally fixed bug so ^ in regex will not match at the caret location unless the caret it at the start of a line.
Updated PHP syntax highlighting to PHP 5.
Updated Java syntax highlighting to recognize newest doc tags.
Added Javadoc tags to Java keyword completion.
Fixed case-matching bug in keyword completion for case-insensitive languages.
When jumping to a line, the line is selected if the text is read-only.
Miscellaneous
Renamed Commands menu to Tasks menu.
Added support for performing a task in the file's directory via the special "@" path. This is especially useful for version control tasks.
If menus do not fit on the menu bar, they are available in an overflow menu.
A menu will never again cover the menu bar when it is opened. This prevents menu items from being accidentally selected with a click on the menu bar.
Added "Tip of the Day" to the Help menu.
Added "Kill" button in Compile and Run Output windows. The "Stop" now sends SIGTERM instead of SIGKILL. SIGTERM allows compilers to clean up temporary files before exiting.
Added --dock and --no-dock command line options.
Added option to Miscellaneous Preferences to warn when opening an old version of a project file, since after being opened, the file will no longer be readable by older versions of Code Crusader.
Fixed Search Text dialog so dropping a directory on the "Search directory" input area turns on the "Search directory" checkbox.
Fixed Windows menu to honor Macintosh/Windows shortcut style, i.e., in Windows mode, holding down the Control key now sets the active project.
Added hack so windows dock correctly when using the Gnome window manager.
Fixed bug so elasticity of docking panes is saved in preferences.
No longer complains "Unable to find xyz" if you cancel the "Searching for xyz" process.
No longer saves backup for files edited via --cvs-commit.
Fixed "Find file" dialog to search active project's directories first.
Fixed "Compare files" dialog to accept project-relative paths.