Padre::PluginManager(3) Padre plug-in manager


The "PluginManager" class contains logic for locating and loading Padre plug-ins, as well as providing part of the interface to plug-in writers.



The constructor returns a new "Padre::PluginManager" object, but you should normally access it via the main Padre object:

  my $manager = Padre->ide->plugin_manager;

First argument should be a Padre object.


Stores a reference back to the parent IDE object.


Returns the user plug-in directory (below the Padre configuration directory). This directory was added to the @INC module search path.


Returns a hash (reference) of plug-in names associated with a Padre::PluginHandle.

This hash is only populated after "load_plugins()" was called.


Gets a Padre::Current context for the plugin manager.


A convenience method to get to the main window.


Scans for new plug-ins in the user plug-in directory, in @INC, and in .par files in the user plug-in directory.

Loads any given module only once, i.e. does not refresh if the plug-in has changed while Padre was running.


For all registered plug-ins, unload them if they were loaded and then reload them.


The "alert_new" method is called by the main window post-initialisation and checks for new plug-ins. If any are found, it presents a message to the user.


Returns the list of all plugins that the editor attempted to load but failed. Note that after a failed attempt, the plug-in is usually disabled in the configuration and not loaded again when the editor is restarted.


Given a plug-in name such as "Foo" (the part after "Padre::Plugin"), load the corresponding module, enable the plug-in and update the Plug-ins menu, etc.


Given a plug-in name such as "Foo" (the part after "Padre::Plugin"), disable the plug-in, unload the corresponding module, and update the Plug-ins menu, etc.


Reload a single plug-in whose name (without "Padre::Plugin::") is passed in as first argument.


When developing a plug-in one usually edits the files belonging to the plug-in (The "Padre::Plugin::Wonder" itself or "Padre::Documents::Wonder" located in the same project as the plug-in itself.

This call and the appropriate menu option should be able to load (or reload) that plug-in.


Called by "Padre::Wx::Editor" when a context menu is about to be displayed. The method calls the context menu hooks in all plug-ins that have one for plug-in specific manipulation of the context menu.


Copyright 2008-2013 The Padre development team as listed in


This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.