代码改变世界

如何移除VS Add-In残留的菜单项

2009-05-28 14:26 by Anders Cui, ... 阅读, ... 评论, 收藏, 编辑

昨天发现VS中有个多余的Add-In菜单项,我顿时想起了一位朋友的回复:

Add-in确实很好,但是社区的有些Addin很难卸载干净,不知道为什么。比如AnkhSvn,可能我的人品不好,卸载之后菜单栏里一直有AnkhSvn 的菜单,但是里面所有菜单项都不可用。唉,不管好不好用,至少要把自己加进去的东西删干净啊,此乃基本道德。

所以压力很大,就想找到办法来移除那些残留的菜单项,有两篇文章可以参考一下:

Deactivate and Remove an Add-in
How to get rid of a Visual Studio add-in

其中有两个比较简单易行的方法。

1)使用devenv命令

devenv.exe /resetaddin <Namespace.Class>

Namespace.Class即Add-In的实现类的完全限定名称,比如那个默认的Connect。对于我们开发的Add-In来说,可以查看.Addin文件中的<FullClassName></FullClassName>节点。

2)使用工具栏的自定义功能

我们可以把命令添加到工具栏,这也包括自定义的Add-In命令,方法是Tools->Customize…:

customize-commands

将需要移除的命令拖到工具栏上,关闭对话框。如果Add-In已经卸载了,那么它的功能自然是不可用的了,此时点击工具栏的相应按钮,VS就会报错,此时就可以选择将其移除了。