We'll try to get some proper documentation up when we have more time. For now, here are a few notes to get you started.
----
NOTE: References here to C:\VCROOT refer always to your VoxCommando folder (i.e., your VC installation).1. Choose a name for your plugin.
Plugin name should be short. It will be used as the first prefix for all action strings, the plugin folder name, and the dll name.
It must be unique, so please verify that it will not conflict with existing VoxCommando plugin and dll file names.
2. Create an empty folder within your C:\VCROOT\Plugins folder with the same name as your assembly (i.e. your plugin name).
A plugin folder in VoxCommando should ordinarily contain just 3 files*:
- actions.xml (see other plugins for examples)
- icon.png (your icon should be 45x45 pixels)
- yourpluginname.dll
The file options.xml should only be created when the user first clicks "Save Options" and any default values you want to use should normally be set in your code.
*Unless you need to reference additional dlls. First check whether the dll you need to reference is already being used in VC. If so, verify that you are using the same version of that dll, and make sure that "copy local" is set to false so that you are not creating a duplicate copy of that dll when you build.
3. In Visual Studio, name your plugin assembly. Project --> "Application" -->Assembly name is currently "Blank". Change it to name of your plugin.
4. Under Project Properties, set your target framework to .Net 4.5.1. (in the latest template just above, it should be set already to 4.5.1, but double-check.)
Under Post Build, event command line should read:
XCOPY "$(TargetDir)*.dll" "C:\VCROOT\plugins\$(TargetName)\" /Y /S
In other words, remove the "REM", which turns that line into a remark, and also edit the line to point to your existing VCROOT path.
5. In your C:\VCROOT folder, the PluginInterface.dll already exists. In Visual Studio, you should make a reference to this dll file. Then right-click that reference and make sure "Copy Local" is set to false. We do not want an extra copy of the same PluginInterface.dll ending up in your plugin folder when you build the project.