Thanks Alwyn, you have answered correctly
[quote=29641:@Gary MacDougall]How is this different than the feedback request here?
Just being able to generate an RBX from the compiler would be more than useful.
[/quote]
I agree that being able to generate a RBX from Xojo would be great and I did mention in the feature request that ideally add-ins should be written in Xojo, although there are cases where it may not be so desirable when say there is an potential add-in available from a vendor that exists as source code in maybe C/C++.
To be clear - what is suggested is a way to extend the IDE, a Xojo API that provides information about the current project (like a DOM and events and state from the IDE UI. I will give a few examples just in case the feature request is not clear to everyone. Again I mostly reference Visual Studio as a good example of where this feature already exists.
(1) An add-in called GhostDoc, when installed this add-in provides a hotkey Ctrl-Shift-D so that when your cursor is in a method’s code the add-in examines the code and generates comments that document it. (It works by examining the grammar in your method name)
public Data.Company GetCompanyById(string userId, long companyId)
{
...
}
Pressing Ctrl-Shift-D and GhostDoc inserts the comments as below:
/// <summary>
/// Gets the company by id.
/// </summary>
/// <param name="userId">The user id.</param>
/// <param name="companyId">The company id.</param>
/// <returns>Data.Company</returns>
public Data.Company GetCompanyById(string userId, long companyId)
{
...
}
You can see that /// is a valid form of // but differentiates the GhostDoc comments and that when you find all of the /// comments in your code and strip them away you have XML ready for a documentation or help system.
(2) Invoking external code, PInvoke.net, you want to know the signature for the declaration of an external function, PInvoke.net gives you a new menu item that shows a dialog allowing you to search and scroll through database and insert the code at the current cursor location. MacOSLib and Windows Functionality Suite already have much of the material to construct a database for Xojo.
Conceptually a snippet manager is very similar to the Invoking external code example above, just a database of code snippets instead of external function declarations.
(3) Code visualisation (UML Diagrams). Here the example is from the NetBeans IDE, Visual Studio has similar features but I thought I should show another IDE with add-ins. You can skip through the first half of the video below where NetBeans is being setup for the new add-in
http://www.youtube.com/watch?v=A4Y8vxtxev8