Chapter 4. The core 4.3 plugins

This chapter showcases the new(er) plugins that were under the most active development during jEdit 4.3. Some of them influenced the development of the jEdit core, and others are good enough to be incorporated into the core, but are left as separate plugins simply because it makes it easier for us to maintain and debug them.

Navigator, providing a navigable history, is new and improved - it provides the user with Eclipse-like Navigation to previous locations, for each TextArea of each View. It uses new 4.3 EditBus messages which are now available in the public API, CaretChanging and BufferClosing.

ProjectViewer

For managing groups of files and organizing them into trees, ProjectViewer is very useful. It's been under active development, and many bugs are fixed quickly after they are found. Its ability to filter its input set based on regular expressions or the contents of CVS/SVN/Perforce entries makes it especially handy for other plugins that use it, such as FastOpen and OpenIt, both of which are also recently updated for 4.3.

ProjectViewer is also very important for language plugins that want to deal with file sets. It defines a project-wide property specification, that makes it possible to have different settings depending on what the active project is.

SideKicks and Language Plugins

SideKick has been debugged and the documentation has been improved. Further, there is a new combobox that lets you choose your parser, and a new SplitPane to show you the contents of the hovered element. The combobox is especially important since there are multiple parsers that can be used on a given file, especially when you are working with Python, PHP, HTML, XML, or JavaScript files.

Many language-specific plugins have been redesigned to use the new and improved SideKick. In particular, CtagsSideKick (a replacement for CodeBrowser), JPyDebug, JythonInterpreter, RubyPlugin, PHPParser, JavaSideKick, XML, and PerlSideKick. Be sure to try them out.

In case you're looking for JavaCore, JBrowse, CodeAid, DotComplete, or PropertySideKick, they have all been merged (in terms of functionality) into the new JavaSideKick plugin.

As for HtmlSideKick, JavaScriptSideKick, and XmlIndenter, they have all been merged into the new XML 2 plugin, which now includes two parsers for CSS, one for Ecmascript, and completion popups for elements and attributes in XML, CSS, and HTML.

If you use many different languages, you should also try out the very clever ContextMenu plugin, which I am seriously thinking of adding to the core one of these days.

Ant and Xerces. Previously, Apache Ant was included in AntFarm, and Apache Xerces was included in the XML plugin. Both of these libraries were broken out of their respective plugins and given their own plugin status. This should help avoid some of the kinds of plugin conflicts that arose with previous versions of XML and AntFarm.

Console. Console has many new features, improved error parsing, and more keyboard shortcuts. The command execution part was rewritten. You should read the changelog in the Console users guide for more details.

Optional. This is my first plugin, I hope you like it! It combines the three option panes (global, plugin and buffer) under a single tab pane. It saves me a lot of mouse clicks when I want to switch from plugin options ot shortcuts.

FTP. The FTP plugin strongly influences the development of the virtual file systems of JEdit, and on occasion, bugs in one place require fixes in the other. FTP is being developed in lock-step with the core, and the most recent FTP plugin is more bug-free than latest version that runs on jEdit 4.2final.

InfoViewer. This plugin uses jEdit 4.3's action overriding API to serve as a replacement to the HelpViewer. Since I use/work with this instead of the built-in HelpViewer, I do not notice or fix bugs in HelpViewer. Try it out - you might like it! At some point, I might merge this into the jEdit core, but for now, it's a separate plugin.

XSearch. XSearch is a replacement for the built-in search dialogs. Similarly, there are new features in XSearch which have not been put into the core yet. XSearch has good ProjectViewer integration too - you can search only the files that were added to the project.