# Plugin Questions

This section deals with questions concerning the use of jEdit's plugins. Plugins are applications that share jEdit's memory space and user interface and provide a wide variety of functions and services.

General plugin questions

Where can I get information on the latest available official plugins?

To get a listing of the latest plugins available for downloading from jEdit Plugin Central, use the Plugin Manager feature on jEdit's Plugin menu. You can also get more detailed descriptions of the plugins from the Plugin Central web site.

Where can I get information on new plugins under development?

We encourage plugin developers to join the jedit-devel@lists.sourceforge.net mailing list. There, you will find the greatest concentration of people who are also familiar with the core and its plugins.

How do I install a plugin manually, without using the Plugin Manager?

Copy the plugin's jar archive file (or files, if there are more than one) to the `/jars` subdirectory of either (a) the directory in which jEdit is installed, or (b) your user settings directory (which you can find by evaluating the BeanShell expression `jEdit.getSettingsDirectory()`.

How do I write a plugin?

Writing a plugin requires a working knowledge of Java and some familiarity with jEdit's Plugin API. There is a tutorial on plugin development in the jEdit User's Guide. The source code distribution for jEdit also includes the source for an example plugin, Quick Notepad, which is discussed in the tutorial.

To learn more about plugin development, take a look at the source code for other plugins, particularly those whose features or user interface you might use as a model. The jedit-devel mailing list and the message boards at jEdit Community are also available for specific questions.

Is there an IRC (Internet Relay Chat) plugin for jEdit?

Yes. Open the Plugin Manager, then select Install plugins. You will find the IRC plugin which you can select for installation.

Is it possible to execute my application from within jEdit?

Yes. You can use the System shell of the Console plugin to run your application.

Can I work with cvs/svn/Perforce/cogito/mercurial under jEdit? Is there a plugin for my favorite SCCS system? How can I send a command from jEdit to cvs/svn without leaving my editor?

The SVNPlugin supports Subversion browsing, diffing (via JDiff) and other common operations.

With *NIX (or cygwin), the Console plugin documentation has some ideas on how to use jEdit as the `VISUAL` editor when called from the cvs/svn/hg command-line tools, all of which can be run from the Console dockable.

The ProjectViewer plugin has some support for reading the "entries" file for each directory, to decide which files to import. CVS/SVN are built-in.

The P4Plugin adds Perforce support to ProjectViewer, and has some other advanced features for working with Perforce repositories.

You can use jEdit as your default editor from WinCVS: specify `jedit.exe` as your default viewer and editor to automate the opening of file.

GruntSpud and jEditCvs are not maintained, but do offer CVS support on jEdit 4.2final.

Is there a debugger plugin?

A plugin based on the version 1.4 of the JSwat debugger application is currently available for download using jEdit's Plugin Manager feature. The JDebugger plugin is also available. JPyDebugger offers debugging for Python. The GdbPlugin provides gdb/mi support for C/C++ programs. Also, the Console BeanShell can be used to debug Java classes in the current running JVM. See for more info.

Any development on integrating an XSL parser? It would be great to have the possibility to do XSL + XSLT -> XHTML development in the same environment as other development.

There is currently one plugin available called XSLT. The XSLT plugin provides features for: transforming XML using XSL transformation stylesheets; evaluating XPath expressions on XML and displaying results; and indenting XML.

Is there a plugin to enable editing of remote files over FTP or SSH?

The FTP plugin allows remote editing of files over the `SFTP://` and `FTP://` protocols. `HTTP://` is supported natively in jEdit. The `FTPS://` and `FISH://` protocols are not supported yet.