Plugin Development

From FlashDevelop

Jump to: navigation, search

Contents

Plugin Development in C#

FlashDevelop can be extended with plugins. Plugins are .NET DLLs, which means that they should be developed in a .NET language, such as C#. You will need FlashDevelop installed in order to compile and test plugins.

If you want to learn how to make plugins, checking the source code of FlashDevelop's plugins may be a huge help. Sample Plugin might be particularly useful for starters.

Setting up a plugin development environment using Microsoft Visual C# 2005/2008 Express

Microsoft provides a C# IDE and compiler for free. You can create FlashDevelop plugins using it.

Open the Visual Studio and create a new empty project. If you are using the 2008 version, you ought to right-click, select "Properties" and change "Target Framework" to "2.0". Then go to the "References" folder and remove the references marked with a "Warning" sign. In the "References" folder, add "System.Drawing", "System.Windows.Forms" and "PluginCore.dll" from FlashDevelop's install location.

Setting up a plugin development environment using SharpDevelop

TODO: Instructions should be very similar to Microsoft Visual C#.

The plugin system

TODO: Explain how FlashDevelop interacts with plugins. Should include event and docking description.

Starting the plugin

You will need a class with the main functions of plugins to start developing. TODO: Specify import statements to use The class should extend (using the ':' sign) the interface "IPlugin". TODO: Explain "Name", "Guid", "Author", "Description", "Help" and "Settings".

Assigning tasks to the plugin

TODO: Describe "Initialize", "Dispose" and "HandleEvent".

Testing the plugin in FlashDevelop

Once your plugin is built, pick the DLL and copy it to Flash Develop's Plugin folder(inside FlashDevelop's Application Data folder). Then, just run FlashDevelop.

Dealing with files

TODO: Explain FileSwitch and SciControl.

Syntax highlighting and auto-completion

TODO: Explain syntax highlighting and auto-completion - how to add support for a new language in FlashDevelop.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox