I’ve been in technology a long, long time (more than 2 decades). Over the years, I learned Access which took me to Oracle and then translated nicely to SQL Server where I’ve spent the bulk of my time.
Along the way different projects had different requirements and challenges. To take these on and be a better DBA, I learned VB 6 and then VB.NET. A C++/C# developer asked why I was wasting my time relearning VB when I could learn a real language (C#). Years later I got tired of TechNet samples being only C# and I learned it and primarily use C# as my dev language of choice today.
Fast forward to today. Microsoft’s push to open source and multi-platform means more languages to learn. SQL Operations Studio is like SQL’s Management Studio but it’s multi-platform. So picture connecting to SQL Server from a Mac or Linux without having to emulate Windows. Cool, right?
Since this is multi-platform you’d kinda guess that it’s not a full-on .NET project. In fact, you may also think that the development would be done in some flavor of Visual Studio but it’s not. There’s a newer product called Visual Studio Code and this is not a SKU of Visual Studio 2017. That’s right! Your dev work for SQLOpsStudio extensions will not be done in Visual Studio but instead in VS Code.
This is listed plain as day on this tutorial on extensions but is easy for a non-developer to confuse:
https://medium.com/@kevcunnane/writing-a-sql-operations-studio-extension-in-15-minutes-7dfd24a74dfe
So what about the development itself? To start, one of the requirements is Node.js be installed and when looking at the sample extensions you’ll note that there’s a lot of JSON and TypeScript. JavaScript is also an option.
As you may recall from the start of this post, JavaScript, Node.js, and TypeScript weren’t mentioned. This means it’s time to expand and add to my skillset again. There’s plenty of places to start learning. One such place is LinkedIn Learning. I’ve not used it yet but plan to study up on TypeScript today. Check it out here:
https://www.linkedin.com/learning/topics/typescript
https://www.linkedin.com/learning/topics/node-js
If you’re interested in writing your own extension you may also want to read over the Extension Authoring wiki on github:
https://github.com/Microsoft/sqlopsstudio/wiki/Extension-Authoring