问题标签 [resharper-sdk]

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 回答
284 浏览

resharper - 如何获取特定 JetBrains.ReSharper.Psi.IDeclaredElement 的文件名和行号?

我想为 resharper 编写一个测试框架扩展。这方面的文档在这里:http ://confluence.jetbrains.net/display/ReSharper/Test+Framework+Support

这方面的一个方面是指示一段特定的代码是否是测试的一部分。这段代码表示为 IDeclaredElement。

是否可以获得由特定 IDeclaredElement 表示的一段代码的文件名和行号?

跟进以下回复:

@Evgeny,感谢您的回答,我想知道您是否可以为我澄清一点。

假设用户在 Visual Studio 中打开了这个测试:https ://github.com/fschwiet/DreamNJasmine/blob/master/NJasmine.Tests/SampleTest.cs 假设用户右键单击第 48 行,“player.Resume() “ 表达。IDeclaredElement 会具体告诉我他们想在第 48 行运行吗?或者它会给我一个对应于整个类的 IDeclaredElement,以及整个类的文件名/行号范围?

我应该自己玩这个,但我很欣赏利用你已经知道的东西。

0 投票
1 回答
359 浏览

c# - 如何使用 ReSharper SDK 创建 [CustomAttribute(typeof(GenericType<,>))]?

typeof有没有办法用泛型类型的表达式创建属性?

以下代码仅部分起作用:

0 投票
1 回答
254 浏览

resharper - 无法调试使用 SDK 制作的 ReSharper 插件

我正在使用 VisualStudio2010 SP1、ReSharper 6.1.1。和 ReSharper SDK 6.1.0.51。我禁止使用项目向导轻松构建新插件,但不幸的是我无法调试它。不会命中断点。即使随 SDK 提供的示例也可以工作,但无法调试。我哪里错了?

0 投票
1 回答
179 浏览

c# - 如何使用 ReSharper SDK 确定方法的返回类型?

我正在尝试编写一个简单的 ReSharper 7.1 插件来在某些情况下更改方法的返回类型。

我派生了我的类ElementProblemAnalyzer<IMethodDeclaration>并实现了该Run方法,如下所示:

这很好用,因为它突出了每个方法的返回类型。我似乎无法弄清楚如何检查返回类型是否为void,也无法将方法类型从更改为void其他类型。

我看到IMethodDeclaration接口有一个TypeUsage, 并且它是 的一个实例IPreDefinedType,它又实现IType了 ,但是 ReSharper SDK 文档没有解释如何检查方法的返回类型,也没有解释如何更改返回类型。

0 投票
0 回答
79 浏览

resharper - 使用 ReSharper SDK 访问选定的代码

有什么方法可以识别和提取通过使用 ReSharper SDK 单击和拖动突出显示的代码块?

0 投票
1 回答
107 浏览

c# - 通过 ReSharper SDK 访问 IMethodDeclaration 对象

我手头有 INamespaceBody、IClassDeclaration 和 IMethod。我想得到IMethod对应的IMethodDeclaration和IClassDeclaration对应的IClassBody。但我完全不知所措......我怎么能做到这一点?

0 投票
1 回答
598 浏览

azure-devops - Team Fundation Service 无法构建 VSPackage(未找到 VsSDK)

我正在尝试使用MS Team Foundation 服务来构建我们的 VisualStudio 扩展。不幸的是,构建服务器无法构建我的解决方案,发出错误消息

<my-project>.csproj:未找到导入的项目“$(MSBuildExtensionPath)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets”。

我从问题 1问题 2中得知,这意味着 SDK 扩展未安装在运行我们构建的机器上。我知道我可能可以在我的解决方案中包含整个 SDK 并相应地设置导入路径,但这对我来说似乎不是一个合适的解决方案......尤其是因为 ReSharper SDK 以及可能在未来。

因此,问题是:是否可以通过 Team Foundation Service 构建依赖 VsSDK(或其他构建扩展)的项目?

提前致谢!

0 投票
1 回答
116 浏览

resharper - Resharper SDK - 创建文件

我正在尝试制作一个 Resharper 插件来帮助对我拥有的项目进行一些专门的重构。

它的要点是我在一个类中有一个静态函数,我想创建一个新类并将静态函数移入其中。

我认为这会更简单,但我很难在 SDK 文档中找到示例或起点。

具体来说,我不知道如何创建一个包含新类的新文件。虽然我不能肯定地说,但我觉得我遇到了几个创建新类的例子(尽管当时我忽略了它们,因为我被这个新文件挂断了)。

有谁知道让 ReSharper SDK 创建这个新文件的神奇词汇?

0 投票
0 回答
177 浏览

c# - 使用 ReSharper 8.2 SDK 在 C# 中使用上下文操作自定义本地化重构

我们的 .NET 4.0 C# 项目中的本地化基本上如下:

  1. MyCompany.Resources.dll包含两个 RESX 文件:A.resx以及B.resx它们的本地化对应文件(A_de.resxB_hu.resx等)。这些文件由通常的 RESX xml 元素组成,例如<data name="key" xml:space="preserve"><value>value</value></data>

  2. MyCompany.Common.dll包含一个公共(单例)类,该类MyCompanyResourceManager具有两种方法,用于通过键访问本地化值,例如A.resx和。B.resxGetA(string key)GetB(string key)

  3. 无论 C# 代码中有什么字符串需要本地化,我们手动打开A.resx或者B.resx使用 XML 编辑器(Visual Studio 资源编辑器搞砸了 xml 中的某些内容),<data>使用新键向 XML 文档添加新标签,在 C# 代码中,我们手动将字符串替换为对MyCompanyResourceManager.Instance.GetA(...)(or GetB(...)) 的调用。

这项工作可以通过 ReSharper 中的代码片段和实时模板来加速,但我觉得需要一个更好的解决方案来解决这个“工作流程”(而不是本地化机制,不能改变 :))。这就是为什么要编写一个 ReSharper 插件来执行重复部分的原因。我想达到的目标:

  • 当插入符号位于 C# 代码中的字符串文字上时,提供上下文操作Localize in ALocalize in B
  • 当我选择其中任何一个时,弹出一个对话框以提示用户在 RESX 中使用的密钥
  • 将新<data>标记放在相应的 RESX 文件中,并用调用适当的方法替换字符串文字。MyCompanyResourceManager如果需要,导入类的命名空间,并在需要时引用它的程序集。(引用程序集不是必须的,因为可以假设它MyCompany.Common在任何地方都被引用)
  • 打开所选的 RESX 文件以查看更改

可选功能(使插件更广泛地使用):

  • 设置页面指定RESX文件(甚至两个以上),对应的方法调用,以及包含这些方法的类
  • 在提示密钥之前,在所选的 RESX 文件中搜索字符串文字,以防它已经本地化

我的问题/疑问:

  • 我有点迷失在ReSharper SDK 参考及其不完整的文档中,所以关于可用类/接口的综合材料/教程会很棒(如果有的话)
  • 如何使用 ReSharper API 在 Visual Studio 中打开项目/解决方案文件?
  • 如何使用 ReSharper API 操作 XML 文件?示例上下文操作是一个反向字符串,因此访问插入符号下的文字是可以的。
  • 对于这种情况,我应该使用上下文操作还是重构?
  • 如何从上下文操作开始重构?
  • 从哪里开始,这个任务的API应该很好理解什么?

提前致谢!

0 投票
1 回答
94 浏览

resharper - DaemonStage 和 ElementProblemAnalyzer 有什么区别?

我正在开发 Resharper 插件,但我没有意识到在 Deamon Stages 和 Element Problem Analyzers 之间?

当我需要使用一个或另一个?如果他们都提供代码分析。