When writing a Visual Studio extension, you pretty much need to use Visual Studio services for everything. Put simply, a service in this context, is an object that implements an interface that exposes functionality to interact with different parts of the IDE. For instance, a common service used to deal with the Visual Studio editor is the EnvDTE.DTE. If you are building a VSPackage then likely you have used the System.
Recently I’ve been working on a Visual Studio extension to automate the tedious parts of code authoring at work. It turns out that there is a lot of knowledge out there, but quite spread. Here’s my try to get a somewhat short, end-to-end tutorial on how to create a new Visual Studio extension, with Roslyn, parse some code and then generate some more. I’ll assume you know nothing about Visual Studio extensions and Roslyn, but, at least, install Visual Studio SDK first.