问题标签 [vs-extensibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
967 浏览

c# - 获取所选文件并使用 IVsSingleFileGenerator

我正在尝试将几个新功能添加到我为我们公司开发的包中。这些功能之一是根据在解决方案资源管理器中选择的文件和选择的菜单选项创建一个新文件。我已经在解决方案资源管理器上创建了我的动态菜单项,看起来我需要使用IVsSingleFileGenerator ,如此示例中所示。

我遇到的麻烦是获取我选择的文件并读取它或将其传递给单个文件生成器。我宁愿从此上下文菜单中生成文件,也不愿从自定义工具操作中生成文件

看起来这会给我文件的路径

然后我可以使用它来传递给 ivs 单文件生成器的生成函数。

这是最好的方法吗?

0 投票
2 回答
578 浏览

visual-studio-2010 - VS 可扩展性架构(包 API/Visual Studio 库)

MSDN 扩展平台描述

最近我发现上面显示的来自微软的 Visual Studio 可扩展性平台图表。

大多数事情对我来说都很清楚。但是,我想知道 Package API 和 VSL(Visual Studio 库)。

我试图找到更多,但找不到任何信息。

我不太明白
的事情:-Package API 到底是什么?
- VSL 到底是什么?
- InteropAssemblies/VSL 和 Package API 之间有什么关系?InteropAssemblies 是否包装了对 Package API 的访问?
- 为什么要在实现原生包时使用 VSL?有什么好处?

有没有人有更多关于这些主题的信息,或者有人知道一些资源?

0 投票
1 回答
365 浏览

visual-studio - 使用自定义加载项更改 Visual Studio 颜色的性能

我正在为 Visual Studio 2008 创建一个加载项,它允许我使用热键在配色方案之间切换。

我让它成功加载配色方案并应用它,但它很慢。

这是应用方案的代码:

基本上,GetItems 从 Visual Studio 的选项中获取 ColorableItems 的列表。在其中一项上设置属性会立即将更改应用到 VS。由于配色方案可以包含超过一百个属性,这会导致 300 多次更新操作并且需要很长时间(在我的笔记本电脑上需要 10 多秒)。

我想以某种方式告诉 VS,我不希望它在我更新属性时刷新,当我完成时告诉它更新,但我找不到这样做的方法。

理想情况下,整个过程需要 1 或 2 秒,类似于使用 VS 向导运行导入/导出设置。

我也对替代方法持开放态度。我有一个简单地覆盖注册表设置的想法,但是我需要一种强制 VS 重新加载它的设置的方法。

0 投票
1 回答
685 浏览

c# - Visual Studio - 移动光标而不失去焦点

我的包中有一些工具窗口,当用户在工具窗口中执行某些操作时,我想将文档中的特定点显示在视图中。

我试过以下代码:

它做了我想做的事,但不幸的是,它把焦点放在了 Visual Studio 代码编辑器上,把它从我的工具窗口中拿走了。如果用户在我的工具窗口中键入并且它突然将焦点转移到编辑器,这并不好。

有没有另一种方法可以做到这一点而不会失去焦点?

0 投票
1 回答
1057 浏览

visual-studio-2010 - Visual Studio 2010 可扩展性 - 覆盖构建操作而不影响 cproj 文件

我正在研究一种无需更改 cproj 文件即可在 Visual Studio 2010 中构建 MonoTouch 项目的方法。我快到了,但最后一步是在 MonoTouch 项目中具有构建操作“页面”的 *.xib 文件。

在 Visual Studio 2010 bild action Page 将调用 XAML 编译器,因此为了在 VS2010 中构建项目,我需要将构建操作设置为 None。这样做的问题是 .cproj 文件已更改,我需要在构建 MonoTouch 之前将其设置回 Page。

所以我的问题是这样的。使用 Visual Studio 可扩展性模型,是否可以“拦截”某些文件类型并“忽略”它们或更改它们的构建类型?还是 Visual Studio 使用 msbuild 构建所有内容,因此只关心 .cproj 文件中实际写入的内容?

0 投票
1 回答
1295 浏览

c# - 通过 DTE 在 VS 扩展中添加菜单项不会触发 Click 处理程序

我正在尝试使用 VS 包(扩展)中的菜单项动态填充解决方案右键菜单。

我有一个名为“MyMenuName”的扩展菜单,我正在那里添加菜单项。

这是我使用的代码:

菜单项已成功添加,但它的 Click 处理程序永远不会执行。有任何想法吗?

编辑:我在这里挖掘了一些代码:https ://netrepo.svn.codeplex.com/svn/trunk/AssemblyFactoryAddin/AssemblyFactoryAddin/GUIButton.cs 看来我的代码应该是正确的(假设他们的代码有效)

0 投票
1 回答
104 浏览

c++ - 有人知道将您自己的语言添加到未管理的 Visual Studio 2010 的任何资源吗?

我已经在代码项目和 MS 的 Iron Python 中看到了 MyC 页面。是否有非托管代码的简单示例?我想为 C++ 添加一个超集。

更新 最终代码可能无法转换为 C++,所以我想找到一个从头到尾为 VS 创建非托管新语言的示例,包括 IDE 支持、大括号匹配等。想想 D 或印第安纳州的概念项目。

0 投票
1 回答
1175 浏览

c# - 如何在 VSPackage ToolWindow 中启用拖放功能?

我有一个 WPF 用户控件,它在该控件中提供拖放功能。当用户控件托管在 WPF 应用程序中时,一切正常。但是,当它托管在 a中时VSPackage ToolWindow,drop 完全被禁用。

在这种特殊情况下,我试图将可拖动列表框(下图左侧)中的选定项目拖动到右侧的画布上。

在此处输入图像描述

可以使用 启动拖动DoDragDrop,例如:

但是在工具窗口的任何地方都不允许放置。

什么样的条件会阻止在工具窗口中拖放,以及启用它需要哪些设置更改?

0 投票
1 回答
1334 浏览

wpf - 如何防止 VS Shell 在 VSPackage ToolWindow 中获得键/命令绑定的优先级?

我有一个 wpf 用户控件,它接受输入手势来执行各种命令。在下面的示例图像中,用户可以按Ctrl+N执行New命令以在TreeView.

在此处输入图像描述

Ctrl+N当此用户控件托管在 WPF 应用程序中时,用户可以使用当焦点位于 时创建新项目,并且当用户在焦点位于应用程序的其他位置时TreeView按下时,将执行应用程序级命令。Ctrl+NNew

如果此用户控件托管在 VSPackage ToolWindow 中,则New在用户按下 时执行创建新文件的 VS Shell 级别命令Ctrl+N,而不管焦点是否位于TreeView.

如何防止 VS Shell 获得键/命令绑定的优先级?

0 投票
1 回答
140 浏览

wpf - VS2010 Text Adornment Extension中如何改变文字的颜色和粗细?

在我的 TextAdornment1 类中,我定义了以下内容:

一个实例ITextViewLine被传递给我的CreateVisuals方法。如何更改该特定行上文本的颜色,以及如何使其变为粗体?我看到很多绘制图像以突出显示文本的示例,但到目前为止还没有改变实际文本的格式。我怎样才能做到这一点?