Creating SSMS addin advice

  • I have an idea for an SSMS addin that I don't see on the market. This isn't something that I plan to sell, but I think it could be used a lot. Since this will be done in my 'free' time, I don't want to waste unnecessary cycles. It would be great if it was easy to create a 2005 version, and recompile for every SQL version above, but I'm not naive enough to think that will work. I have some questions for those with experience developing SSMS addins:

    1) If you were me, which SQL version would you create first, and why?

    2) Which other SQL version(s) would you create, if any?

    3) Any other addin development advice? I have a development backgroud and have created VS addins.

    Thanks!



    Rick Krueger

    Follow @dataogre

  • If you're not planning to sell it might I recommend starting a project on CodePlex. I looked into writing an add-in for SSMS in 2005 at one point but the docs were sparse and in truth it is 'not technically supported by Microsoft.' I suspect writing it for SSMS 2012 will be a much simpler affair given their higher level of standardization on the VS2010 shell, but who knows. If you post on CodePlex please post back, I would be happy to collaborate on it. If you're looking for help with development I would be happy to serve as a tester.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • I looked into this too at one time. As I recall, SSMS 2005, 2008 and 2008R2, use essentially the same shell/environment from the standpoint of a VS add-in. Add-ins technically aren't supported, but it is just the VS IDE (either 2005 or the one before that, I cannot remember which) interface repurposed, and enough people have figured out how to do it that it should be reliably do-able.

    In SSMS 2012, I beleive that the shell changes (to VS 2010 IDE), and some parts of the interfacing/API changes too. I remember a rumor from last year that they might officially support Add-Ins in this version, but I never checked-up to see if that actually happened.

    The biggest issues are:

    1. Its all technically unsupported,

    2. The API is undocumented, but basically like the VS IDE customization API,

    3. Some things that work for customization/add-ins in the VS IDE, do not seem to work in the SSMS environment. And of course it's undocumented, so ...

    4. Worse, the object's that you can access and modify in the SSMS IDE are also undocumented. As that's somewhat different from the VS IDE's object's, you're more in the dark there, which seriously limits what you can do.

    5. Finally, the 2012 SSMS, being based in a later version of the VS IDE, probably has most of the customization API changes as well, so that may be an issue.

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • Looks like there's been quite a bit of work done on this and it's already on CodePlex: http://ssmsaddins.codeplex.com/[/url]

    He also has a discussion going if you have ideas you think he should try to implement: http://ssmsaddins.codeplex.com/discussions/37757

  • Yes, there's actually a number of open-sourced examples out there on CodePlex and a few other places.

    Sadly, the best one by far (SSMS Tools Pack[/url]) is not, which is a real shame because Mladen clearly knows some stuff about the SSMS IDE object model that no one else outside of Microsoft seems to.

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply