gpt4 book ai didi

c# - 每个 UI 上下文的 Visual Studio 可扩展性 : ProvideAutoLoad for Package. cs

转载 作者:太空狗 更新时间:2023-10-29 20:23:48 27 4
gpt4 key购买 nike

我的目标是创建一个“Visual Studio Extensibility”,它将“Npm install”上下文菜单项添加到 package.json 文件中。

到目前为止,如果我打开一个解决方案,效果很好,因为我已经将 [ProvideAutoLoad(Microsoft.VisualStudio.Shell.Interop.UIContextGuids.SolutionExists)] 属性添加到 Package 类。

但是如果我打开一个网站(文件->打开->网站...),它就不起作用了。您知道如何为每个 UI 上下文自动加载 Package.cs 吗?

编辑:进一步调查后的更多信息:如果我将网站另存为解决方案,则会调用“初始化”方法。但是没有调用package.json的MenuItem的BeforeQueryStatus。解决方案结构如下所示:

-Solution
-project
-package.json

如果我将 package.json 直接添加到解决方案中,则会出现上下文菜单项。结构:

-Solution
-Solution Items
-package.json
-project

有什么想法吗?

最佳答案

将以下代码添加到您的包定义中:

[ProvideAutoLoad(VSConstants.UICONTEXT.NoSolution_string)]
[ProvideAutoLoad(VSConstants.UICONTEXT.SolutionExists_string)]
[ProvideAutoLoad(VSConstants.UICONTEXT.SolutionHasMultipleProjects_string)]
[ProvideAutoLoad(VSConstants.UICONTEXT.SolutionHasSingleProject_string)]

您的包应该在所有情况下加载。

关于c# - 每个 UI 上下文的 Visual Studio 可扩展性 : ProvideAutoLoad for Package. cs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27687954/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com