XFiles IntelliJ plugin
The XFiles plugin offers a configurable, dynamic mechanism for defining working
sets of files and allowing navigation between files selected by a working set.
Working sets may be filtered using any or all of the following criteria:
- File path names matching specified patterns (pathname globs)
- File attributes (open files, source files, test files, ignored files)
- File status according to the underlying VCS (added, changed, unchanged, unknown, etc.)
- File type (java files, text files, xml files, properties files, etc.)
- The VCS the file is registered with (CVS, SVN, P4, etc.)
- The project module the file exists in
The resulting working set's files are is displayed in a tool window for navigation
and operation.
This plugin is an attempt to improve on the currently available navigation
tools, which often don't seem to be quite what I would like:
- the stock open file tabbed navigation
- the stock recent files list (ctrl-e)
- the TabSwitch plugin's MRU open files list (alt-a)
- the TabReorder plugin
- the Workspaces plugin
- the new favorites feature in IntelliJ 5.x
Maybe I just have too many files open, but I rarely find the tabbed navigation
between open files to be very useful. Several rows of tabs take up a lot of
space and one scrolling row simply hides many of the open files that I might
want to navigate to. The fact that the tabs don't seem to be in stable or
predictable order exacerbates these problems. I think the fundamental problem
though, is that the current working set of files is not always the set of files
that are open in the editor.
Originally, I relied on the recent files list quite heavily, but since installing
the TabSwitch plugin I rarely use it. Up until recently I was using the TabSwitch
plugin MRU list far more than any of the others.
The TabReorder plugin can be useful but really seems like a partial fix for
the fact that the editor tabs are not in stable or predictable order. It might
be good if this plugin allowed for defined tab orders that didn't require manual
effort to maintain.
The Workspaces plugin and new (?) favorites feature seem somewhat static and require
quite a lot of manual effort to maintain in a useful state.
Examples
- currently open files
-
selected as being open in the current editor; very long lists of open files are handled well
- changed files
-
selected by version control status of added, changed, etc.; this can often be a good approximation of the
files you are likely to do further work on
- files that have been created but not added to perforce
- selected by version control status of unknown
- build system files
- selected by path glob of build*.xml
News
- November 14, 2005 (Release 0.1)
-
The first public release of XFiles is finally available from the
IntelliJ plugin repository.
-
- November 11, 2005
-
Special thanks to Michael Beauregard for the addition of context menus to the XFiles tool window
and a little bit of encouragement to get this thing into the plugin repository.
Todo
- we need a proper tool window icon image
- allow for different sort orders in the tool window (ascending, descending, camel case order, file size, etc.)
- the configuration UI code is a disaster and really needs a good cleanup.
- possibly add file sizes, last modification times, etc. to the tool window.
Bugs
- Invalid glob patterns are not detected by the configuration UI and will cause problems when
the filter runs.
- Deleted files are not listed by the filter because they are not available from the IntelliJ
project roots. If we can find these from the underlying VCS they would be available for display
in filters that select them.
- I'm sure there are plenty of others too!
Author
Derek Scherger <derek at echologic dot com>
I hope you find this plugin useful. Please email me if you find bugs or have ideas for new features.