关于VS插件开发的一篇很懒的笔记。

Demo

Demo在这里:
DllReferencePathChanger
微软官方Demo在这里:
VSSDK-Extensibility-Samples

基本步骤看这里:

Visual Studio 2015 插件开发 从入门到放弃
visual Studio 2017 扩展开发(一)《向Visual Studio菜单栏新增一个菜单》
visual Studio 2017 扩展开发(二)《菜单图标详解》

如果需要引用其它的工程项目,需要为这些项目添加强名称签名。

方法在这里:
如何:使用强名称为程序集签名

上述的第一个Demo中,就是引用了一个WPF窗口程序,用于实现插件与用户的交互。

如何获取当前解决方案的一些信息?

通过 EnvDTE.DTE 类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 节选自 第一个Demo
private EnvDTE.DTE _dte;
internal EnvDTE.DTE DTE
{
get
{
if (_dte == null)
_dte = ServiceProvider.GetService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;
return _dte;
}
}
var solution = DTE.Solution;

其它参考文章: