XIDE: Starting without loading the plugins

May 26

Specially for developing XIDE plugins there is a possibility to startup XIDE without loading the plugins:

– keep the shift key pressed while XIDE starts
– add a /noplugins switch to the command line

This functionality was added yesterday ( May 25, 2016 ). So if you need this and your XIDE version is older, ask the author for an update.

XIDE: global variables

May 09

The new XIDE-Build from May 2016 supports the definition of own global variables to use in Pre- and Post-Build events, for example to set some system-wide paths.

Simply add a section [GlobalVariables] to XIDE.cfg, when the program is not open, like this one:

GlobalVariable = %mygeneralmanifest% , C:\temp\mymanifestfile

Later versions may support these variables also in templates.

XIDE: Tools on menu

May 06

You just need to add a section in the bottom of the xide.cfg file:

xml = notepad.exe
txt = wordpad.exe,%1

The 2nd syntax allows you to use command line options, for example

wordpad.exe , /param1 %1 /param2

(%1 is replaced with the filename)

If you press CTRL or SHIFT while opening a file, it gets opened inside XIDE, instead of the tool you specified. Obviously I am just sending it now but not waiting for a quick response, only when you have time about this.

XIDE: Placeholders in prebuild and postbuild events

May 06

The following placeholders are available:


A small sample for the executable cmd.exe:
%AppPath%Prg\App.config %ProjectOutputPath%%ConfigPath%%AssemblyName%.exe.config /y

or preferred by myself:
/c c:\xsharp\xide\postbuildcopy.cmd "%AssemblyName%.dll" "%ProjectOutputPath%%ConfigPath%" "c:\devnet\libs\rdm"

where postbuildcopy.cmd has the following content:
@echo off
set assemblyname=%1
set sourcepath=%2%
set targetpath=%3%
set sourcefile=%sourcepath%\%assemblyname%
set targetfile=%targetpath%\%assemblyname%
if not exist %sourcefile% goto ende
if exist %targetfile% goto replace
copy %sourcefile% %targetfile%
goto ende
replace %sourcefile% %targetpath% /u

XIDE: Plugin system

May 06

XIDE supports a plugin system.

The core of a plugin is to define a class that inherits from Xide.PluginSystem.Plugin and implements the METHOD Initialize() and PROPERTY Name. Initialize() passes you a PluginService object, with which you can communicate with XIDE. Type self:oService: in the sample to get a list of available methods of this class.
After you have built your plugin dll, simply copy it in the plugin subdirectory of the XIDE directory, and it will be loaded on the next start of XIDE.

And this is a sample code by Chris Pyrgas, the author of XIDE:

using Xide.PluginSystem
using System.Windows.Forms

class TestPlugin inherit Xide.PluginSystem.Plugin
protect oService as PluginService
virtual method Initialize(_oService as PluginService) as void

self:oService := _oService

local oMenuItem as MenuItem

oMenuItem := MenuItem{"Add some custom text" , PluginMenuItem_Edit_clicked }
self:oService:RegisterMenuItem(MainMenuItem.Edit , oMenuItem)

oMenuItem := MenuItem{"My Plugin" , PluginMenuItem_Window_clicked }
self:oService:RegisterMenuItem(MainMenuItem.Window , oMenuItem)


method PluginMenuItem_Edit_clicked(o as object,e as EventArgs) as void
local oFilePad as FilePad
local oEditor as Editor
oFilePad := self:oService:GetActiveFilePad()
if oFilePad == null
end if
oEditor := oFilePad:Editor
oEditor:AddLine("// This is some test enetered from the plugin!")

method PluginMenuItem_Window_clicked(o as object,e as EventArgs) as void
local oProject as Project
oProject := self:oService:ActiveProject
if oProject == null
end if
MessageBox.Show("Applications in project " + oProject:Name + " : " + oProject:GetApplications():Length:ToString() , "Message from plugin!")

virtual property Name as string get "A test plugin"

end class

XIDE: Reference templates

May 06

In XIDE, it is possible to add reference templates:

You can edit them through VIDE\Config\References.cfg and they appear in the add references page by pressing the button in the bottom left named “Select from template…”