启动时在 Visual Studio 中自动 运行 扩展代码

Automatically run extension code in Visual Studio on startup

我可以在用户打开 Visual Studio IDE 后立即在后台为 Visual Studio 创建 运行 的扩展吗?例如,我正在构建一个扩展,它在 Visual Studio 中获取当前活动文件地址(使用 C#),但我希望此扩展始终在后台 运行 而不必由用户激活单击按钮或按某些组合键。

这可能吗?如果可能,最好的方法是什么?

如有任何帮助,我们将不胜感激!此致,二凡

既然你用 visual-studio-2010 标记了你的问题,我假设你正在处理 "Add-in" 而不是 "VSPackage Extensions"。

在这种情况下,您可以使用 OnConnection 事件处理程序。

如果您正在处理 VSPackage 扩展,则可以使用属性 ProvideAutoLoad

只需搜索这些,您就会找到足够的信息。这两种方式也有简短的描述 here under "How can I run my add-in code in a VSPackage?"

对于 VS 2010 及更高版本,推荐的扩展方法是包(VS 2015 不允许加载项)。

要在加载 Visual Studio 时加载包,请参阅 HOWTO: Autoload a Visual Studio package

加载后,您的包可能会对两种不同类型的选择更改事件感兴趣:

对于扩展,将以下属性添加到包 class,这将在解决方案未在 visual studio 中打开时加载扩展。我已经用 VS 2015 和 2017 对此进行了测试。

[ProvideAutoLoad(UIContextGuids80.NoSolution)]