问题标签 [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 投票
3 回答
597 浏览

c# - 扩展 C# 语法的想法

不幸的是,C# 不允许额外的用户定义语法。但我想知道是否有可能通过利用视觉工作室 onbuild-event 来超越这个限制。

假设我有一些语法糖可以很容易地翻译成实际的 C# 代码。如果我要在构建 C# 项目之前自动将包含此新语法的 cs 文档转换为有效的 cs 文档,那么该项目可以成功构建。总的来说,这就像我扩展了 C# 语言一样,因为我从一个包含非官方语法的无效 cs 文档开始,但它还是编译了。

我意识到这有一些问题,例如这种翻译是永久性的。这也许可以通过恢复原始cs来规避(应该在调试结束后恢复,否则会丢失一些IDE功能)。但这些都是次要问题。

请让我知道你对这个想法的看法。这可能吗,如果可以,有人可以指导我参考一些有用的教程来实现这一点吗?具体来说,就是挖掘-a-onbuild-event。我搜索了 MSDN,但主题(http://msdn.microsoft.com/en-us/library/hthab0h8.aspx)对我没有帮助。

0 投票
0 回答
263 浏览

vs-extensibility - 如何在不使用 IVsGeneratorProgress.GeneratorError 的情况下从自定义工具写入 Visual Studio 错误窗口

我正在编写一个扩展 Visual Studio 的 IVsSingleFileGenerator 接口的自定义工具。通过IVsGeneratorProgress.GeneratorError我可以输出简单的警告/错误信息,但我需要更多地控制输出内容。具体来说,GeneratorError总是将触发单个文件生成器的源文件作为错误文件输出,但该工具处理多个工件,我需要能够为这些输出错误。

0 投票
2 回答
252 浏览

visual-studio - 如何使用 FileCodeModel 与 VS2010 中的 using 语句进行交互

我正在尝试使用 ac# 文档中的语句构建一个 Visual Studio 2010 vsix 插件以更改(从添加和删除开始)。在当前 ProjectItem 上使用 FileCodeModel 我可以看到如何添加类、结构等,但不使用指令。谁能给我建议?

0 投票
1 回答
2623 浏览

visual-studio-2008 - 如何将工具栏添加到 Visual Studio 加载项?

我创建了一个新的 Visual Studio 加载项项目。我的项目能够将命令添加到 Visual Stuido 菜单。此代码由向导创建。如何将自定义工具栏添加到 Visual Studio?

0 投票
1 回答
527 浏览

visual-studio-2010 - 编写 VS2010 扩展

我想为 Visual Studio 2010 创建一个扩展。我需要的功能是:

  1. 为 Project 添加一个上下文菜单项(当用户在他的解决方案中右键单击项目名称时,他将在列表中获得我的上下文项)。
  2. 当他单击时,会出现一个新的 WinForms 表单,他可以在其中输入一些数据,以及保存该数据以供将来重用的选项。
  3. 当他在该表单上单击“确定”时,我将生成一些文件并将这些文件添加到他右键单击的项目中。

WSCF.blue正是我想在 VS 中模仿的那种行为,但它的源代码是用 VS2008 编写的,我想使用 VS2010 扩展选项,据我所知,这些选项发生了很大变化......

我在 msdn 上找到了一些资源,但我发现它与不完整的信息混淆(例如 MenuAndCommands 示例)。

任何人都可以阐明如何实现我的目标吗?

0 投票
1 回答
111 浏览

wpf - Visual Studio 2008 扩展包工具窗口需要显示用户名

我有一个概念验证项目,作为其中的一部分,我需要确定在 ToolWindow 上显示用户名(登录 PC 的人)的最佳方式。我们的想法是从客户端而不是服务器或服务获取此信息。包是先VS 2008,然后我需要在VS 2010下做。我使用 WPF 作为首选 UI。我大约需要一周的时间来学习 VSX 的来龙去脉,并感谢所有指导。谢谢,丹尼

0 投票
1 回答
742 浏览

visual-studio-2010 - dte.Solution.SolutionBuild.StartupProjects 更改时是否触发了事件?

我正在构建一个 Visual Studio 2010 插件供我公司内部使用。我想自定义主窗口标题以显示当前启动项目的名称。我可以使用以下代码设置主窗口的标题:

每当创建或激活窗口时,我都可以触发此代码,但如果用户更改解决方案资源管理器(或我的加载项)中的启动项目并且不会移动到 Visual Studio 中的另一个窗口,这不会更新标题。我希望在进行更改后立即更新标题。

0 投票
1 回答
428 浏览

visual-studio - 在 EnvDTE 的 Debugger.GetExpression 方法中,“UseAutoExpandRules”究竟是什么意思?

文档尖锐地解释说,这个参数应该是“如果应该使用自动扩展规则,则为 true;否则为 false。”,但它到底是什么意思?

我似乎在网上找不到任何解释。

0 投票
1 回答
105 浏览

wpf - VS 2008 扩展包 - 如何使用 ElementHost 附加 Wpf 数据项目

我已经使用 Wpf 窗口、Sql 数据和 ElementHost 创建了一个包——非常简单,没有互操作,只有代码。现在我需要扩展并希望使用 Wpf 数据项目作为我的 ElementHost.Child。我添加了一个项目引用,并在 ToolWindow.cs 中使用了这行代码:

包运行,ToolWindow 打开并显示一个空白的 Wpf 框架。调试告诉我,我得到了 UI 元素引用,甚至是 ToolWindow.cs 的数据,但它没有进入页面。我知道我缺少某种绑定语法,但是网上的大搜索并没有揭示魔法。我需要运行项目,还是做一些互操作技巧?完成这项工作真的很棒,因为如果我让它飞起来,我将能够重用主要工作。干杯,丹尼

这是我放入 ToolWindow 类的代码:

0 投票
1 回答
324 浏览

visual-studio-2010 - VSix 部署失败 - 目标机器上是否需要 VS SDK?

我有一个已构建并安装在我的机器上并且运行良好的 vsix 包。我尝试在没有 VS Sdk 的机器上双击安装。当我单击 View-OtherWindow 中的图标时,我收到一条错误消息,提示“调用目标引发了异常”。有什么想法吗?