问题标签 [envdte]

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 投票
2 回答
483 浏览

c# - C# 插件:如何在调试时访问对象的运行时实例?

我正在为 C# 开发一个仅在调试期间使用的插件。实例化后,我的插件需要查找特定类或接口的所有实例,以显示有关找到的数据的图表。

如何在我的扩展中找到或访问这些对象?我可以访问我的扩展中的 DTE2 应用程序对象,但我不确定如何搜索 VS 正在调试的实际代码。我想我可能会以某种方式使用反射,但我不知道在哪里看。

谢谢。

0 投票
2 回答
4453 浏览

visual-studio - 如何使用 DTE 在加载项项目中编辑 .cs 文件

我正在尝试为 vs2010 编写我的第一个插件,但我很挣扎。

我有一个生成大量 cs 文件的程序集。我希望我的插件将新文件添加到选择项目中,或者如果文件存在,则覆盖它们。

我有两个问题:

  1. 添加新文件时,如何将其添加到项目内的子文件夹中?我似乎只能添加到项目的根目录。
  2. 如果存在cs文件,如何清除其内容?我正在使用 EnvDTE.TextDocument 和 EnvDTE.EditPoint 接口。但每次我尝试遍历文档清除行时,都会收到 COM 错误“HRESULT 异常:0x80041001”。

    如果可以的话,我不想删除该文件并添加一个新文件。由于登录源代码控制。

0 投票
1 回答
365 浏览

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

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

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

这是应用方案的代码:

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

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

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

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

0 投票
1 回答
490 浏览

visual-studio - 通过加载项添加控件后更新表单设计器

我正在探索 EnvDTE 库,并构建一个表单生成器。

我已成功将控件添加到表单,但是,控件的代码未添加到表单设计器(formname.Designer.cs),如果我想添加事件处理程序,这是一个问题,因为尚未声明控件.

当我双击一个将事件处理程序添加到表单设计器中的按钮的按钮时,它会添加表单设计器中的所有控件。所以任何更新都应该这样做。

这是我添加控件的方式:

问题:如何以编程方式更新表单设计器(使用 EnvDte 或 VS API)以获取对我的控件的引用并向它们添加事件处理程序?

奇怪的一件事:我发现了一些关于通过 VS 加载项向表单添加控件的教程,但没有一个提到这个问题。

0 投票
2 回答
1965 浏览

build - 如何从上次构建中获取输出目录?

假设我有一个包含一个或多个项目的解决方案,并且我刚刚使用以下方法开始构建:

如何获取刚刚构建的每个项目的输出路径?例如...

c:\MySolution\Project1\Bin\x86\Release\
c:\MySolution\Project2\Bin\Debug

0 投票
7 回答
4988 浏览

c# - 获取 C# 方法体内使用的类型

有没有办法让 C# 方法中使用的所有类型?

例如,

将返回:Bar、string 和 TEST。

我现在能得到的只是使用 EnvDTE.CodeFunction 的方法正文。也许有比尝试解析此代码更好的方法来实现它。

0 投票
1 回答
475 浏览

visual-studio - 获取 CodeElement 的 Access 属性

我正在为 VS 2010 编写一个加载项。找不到问题的答案 - 如果 CodeElement 具有该属性,我如何获得该属性。

我正在尝试反思,但没有结果。前任。CodeElement 是一个类方法

但它不起作用..

请帮忙!

0 投票
1 回答
865 浏览

xml - Visual Studio 宏:如何格式化 xml 文件?

我从 Visual Studio Macro 派生了一个小宏脚本来格式化解决方案中的所有文件,但不幸的是它不适用于 xml、xaml、config 等。所有ProjectItem基于 xml 的通常都会抛出异常(命令不可用)。在他们的主要视图中打开vsViewKindPrimary

结果是:

当它们作为文本打开时,vsViewKindTextView它们保持原样,尽管Edit.FormatDocument可以执行。

是否有另一个必须用于 xml 文件的命令?代码有问题吗?

0 投票
1 回答
300 浏览

c# - 如何在 Visual Studio 调试器中找到当前 StackFrame 的列行?

EnvDTE.StackFrame2 接口中没有 ColumnNumber 属性,即使 LineNumber 确实存在: http: //msdn.microsoft.com/en-us/library/cc701201 (v=VS.90).aspx ;

IL 偏移量也可以,我也可以自己使用 pdb 进行 IL 偏移量-> 列/行转换。

0 投票
1 回答
9099 浏览

.net - 在 NuGet 包中添加解决方案级项

我想通过 NuGet 包将解决方案文件夹和解决方案项(不是项目)添加到解决方案文件中。我想这将通过 Powershell 来完成。我查看了 NuGet、Powershell 和 EnvDTE 的文档,但无法弄清楚:

  1. 我会使用哪些命令/方法?
  2. 我会在哪个标准脚本中执行此操作,Init.ps1、Install.ps1 或其他地方?