Tips for debugging plugins

BeanShell

jEdit includes a Beanshell interface into its currently running JVM at all times. You can access it a variety of ways, but one way is from Plugins - Console - Shells - BeanShell. From here, you can interactively inspect the values of any object in memory, call any of its member functions, or create new instances of any class that is currently loaded by jEdit or any of its plugins. All this, without setting any breakpoints!

If you're too lazy to type each Beanshell statement interactively, you can also create debugging code snippets as macros and invoke them from utilities - beanshell - evaluate selection, or Macros - Misc - Evaluate Buffer in Beanshell, or place the file in your own macros directory and bind it to its own keyboard shortcut.

Other useful tips

This section is new but will be expanded shortly. Please post suggestions to the jedit-devel mailing list.