Using QuickDriver

QuickSharp provides an effective environment for plugin development but opening and closing it simply to test a plugin can present problems. While it is possible to run more than one instance at a time it is not ideal as both instances will share the same registry and user configuration folders.

QuickDriver makes it possible to run a completely independent version of QuickSharp for testing plugins. To build a test environment copy the following files from the QuickSharp installation directory to your workspace:

QuickDriver.exe
QuickSharp.Core.dll
WeifenLuo.WinFormsUI.Docking.dll

Run QuickDriver and you should see a basic QuickSharp application with your plugin loaded ready for testing.

To load plugins independently of QuickSharp QuickDriver uses a different registry key and local data folder, both named 'QuickDriver'. Rename QuickDriver.exe to MyApp.exe and it will use the registry key 'MyApp' and a local data folder named 'MyApp'.

By using copies of QuickDriver with different names you can maintain as many separate test versions of QuickSharp as you need without any of them interfering with the main QuickSharp IDE.

Configuring QuickDriver

QuickDriver is not identical to QuickSharp: it loads plugins in their default state whereas QuickSharp provides client flags to modify the behaviour of the plugins:

ExplorerHideByDefault
ExplorerStartFromCurrentDirectory
EditorChangeDirectoryOnSave
TextEditorClaimUnknownDocument
CodeAssistObjectBrowserIncludeWorkspace
CodeAssistObjectBrowserUseMainToolbar
CodeAssistDotNetAutoPopulateDatabase
WorkspaceEnableTitleBarUpdate
WorkspaceEnableShowSource
SqlEditorEnableXsdExport
SqlManagerEnableDbmlExtract

Without these, QuickDriver may behave slightly differently to QuickSharp. In most cases this won't matter but if you need to exactly duplicate QuickSharp's configuration you will need to apply the flags to QuickDriver.

QuickDriver reads client flags from a text file 'ClientFlags.txt' located in the same directory as QuickDriver itself. This should contains the flags, one per line (C#-style line comments and blank lines are acceptable).

Any flag can be included in the file to control the behaviour of the plugins loaded by QuickDriver during testing.