OK,
First, your sample program works fine, but no intellisense.
Intellisence comes from the accompanying xml file, like LitDev.xml is the intellisense for LitDev.dll for example.
This xml can be automatically generated using VS if you add the /// comments before commands.
If you don't have VS, then it will obviously be harder.
You could create the xml directly (it is just text) by copying the format from an existing extension xml file - the format will have to be exactly correct. Perhaps write an SB program to write it?
To help you I created a VS project using ILSpy on your extension ZS.dll and added some /// comments for a couple public methods and exported the resulting xml as a template for you.
This is the source code showing segments I modified.
Below is the resulting ZS.xml file I got compiling with VS for ZS and Q property - different syntax may be needed (T: is type, P: is property, M: is method and E: is event) for events and objects, but you will see this by looking at other examples of extension xml.
Try using it as a starting point perhaps.
First, your sample program works fine, but no intellisense.
Intellisence comes from the accompanying xml file, like LitDev.xml is the intellisense for LitDev.dll for example.
This xml can be automatically generated using VS if you add the /// comments before commands.
If you don't have VS, then it will obviously be harder.
You could create the xml directly (it is just text) by copying the format from an existing extension xml file - the format will have to be exactly correct. Perhaps write an SB program to write it?
To help you I created a VS project using ILSpy on your extension ZS.dll and added some /// comments for a couple public methods and exported the resulting xml as a template for you.
This is the source code showing segments I modified.
Code:
/// <summary>
/// ZS Keyboard extension
/// </summary>
[SmallBasicType]
public sealed class ZS
{
private static Primitive q;
private static Primitive w;
...
/// <summary>
/// The letter Q. Set or get this property.
/// </summary>
public static Primitive Q
{
get
{
return ZS.q;
}
set
{
ZS.q = value;
}
}
...
Below is the resulting ZS.xml file I got compiling with VS for ZS and Q property - different syntax may be needed (T: is type, P: is property, M: is method and E: is event) for events and objects, but you will see this by looking at other examples of extension xml.
Code:
<?xml version="1.0"?>
<doc>
<assembly>
<name>ZS</name>
</assembly>
<members>
<member name="T:ZS">
<summary>
ZS Keyboard extension
</summary>
</member>
<member name="P:ZS.Q">
<summary>
The letter Q. Set or get this property.
</summary>
</member>
</members>
</doc>
Try using it as a starting point perhaps.