问题标签 [resharper-plugins]

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 投票
0 回答
79 浏览

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

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

0 投票
1 回答
107 浏览

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

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

0 投票
1 回答
128 浏览

c# - 使用 Resharper 7.1 插件从 IClass 中删除 IProperty

我想创建一个 resharper 插件,它从类中删除具有返回类型字符串的属性。我已经创建了一个IActionHandler从所选类中获取所有属性的方法,但我不知道如何修改代码结构以从类中删除属性

这是 Execute 的方法IActionHandler

有任何想法吗?

0 投票
1 回答
1822 浏览

visual-studio-2010 - 如何安装旧版本的 ReSharper 插件?

我在 Visual Studio 2010 中使用 ReSharper 8.0。ReSharper 8.0 使用基于NuGet 的扩展管理器进行插件管理,这使得查找和安装插件变得非常容易,但这个扩展管理器只会提供任何给定插件的最新版本. 它还跟踪插件更新,并在新版本可用时提供更新插件。

这就是我的问题出现的地方。我使用的特定插件 ( GoToWord) 已更新,最新版本 ( 0.9.3) 似乎无法使用。我无法想出任何方法来回滚到以前的好版本 ( 0.9.1.1),也无法在卸载旧版本后安装它。

我尝试打开常规的 NuGet 包管理器控制台(at Tools | Library Package Manager | Package Manager Console)并发出以下命令:

但这在依赖解决阶段失败了,大概是因为常规NuGet 不知道 ReSharper:

NuGet 的 ReSharper Extension Manager 版本是否有控制台?还是有其他方法可以安装旧版本的插件?

0 投票
1 回答
478 浏览

resharper - 安装 ReSharper 的插件时无法解析 JetBrains.ReSharper.SDK

我正在尝试安装使用 ReSharper 扩展管理器编写的自定义 ReSharper 插件,但出现错误

正在尝试解决依赖项“JetBrains.ReSharper.SDK (≥ 8.2.1158)”。
无法解析依赖项“JetBrains.ReSharper.SDK (≥ 8.2.1158)”。

我遵循了官方文档,这是我的.nuspec.

注意:打包的 nuget 被推送到我公司的 nuget 存储库中,当我在 Extension Manager 中搜索包时,我从Online -> All标签中搜索

0 投票
0 回答
243 浏览

visual-studio - Resharper - 单元测试运行器 - 隐藏命名空间

有没有办法在 Resharper Unit Test Runner 中隐藏命名空间?我正在使用 Project Structure Group By 并且命名空间只是弄乱了窗口:

命名空间混乱的单元测试会话窗口

这可以在扩展中快速修复吗?

否则,我使用 JetBrains 创建了一个 YouTrack 问题。如果您同意,请投票:http: //youtrack.jetbrains.com/issue/RSRP-414772

更新:我正在使用 Resharper 8.2(构建 8.2.0.2160)。如果我没记错的话,我在 7 上也遇到过这个问题。

我正在写 NUnit 测试

0 投票
2 回答
90 浏览

c# - 获取当前项目中的所有 IDeclaredType-s(用于 ReSharper Generator 插件)

我正在编写一个 ReSharper 7.1 Generator 插件,需要获取当前项目中声明的所有类型(类、接口和结构 - IDeclaredType-s)的列表GeneratorProviderBase<CSharpGeneratorContext>.Populate

使用常规反射,它会像 一样简单Assembly.GetTypes(),但在这里它被证明是一个相当大的挑战。有没有办法做到这一点?

我搜索了高低,文档和示例没有帮助,然后查看了每个*Extensions课程*Util,但找不到任何有用的东西......

0 投票
1 回答
29 浏览

resharper - SearchDomainFactory.Instance 已过时:“注入我!” (不知道如何创建实例)

我正在尝试将 R# 扩展项目从 R# 6 迁移到 R# 8。(我已经接管了某人编写的项目,而且我是编写扩展的新手。)

在现有的 v6 项目中,有一个派生自 RenameWorkflow 的类,构造函数过去看起来像这样;

这曾经在 R# SDK v 6 中工作,但现在在 V8 中,RenameWorkflow 不再具有采用 Solution 和 actionId 的构造函数。新的构造函数签名现在看起来像这样;

现在这是我需要帮助的问题(我认为)

我已经复制了构造函数,现在这个类的构造函数必须满足这些新的依赖关系。通过一些挖掘,我设法找到了一种方法来满足所有依赖项,除了'SearchDomainFactory'。我可以通过更新的构造函数进行实例化的最接近如下;

新的 RenameStepWorkflow(Solution.Locks,JetBrains.ReSharper.Psi.Search.SearchDomainFactory.Instance,RenameRefactoringService.Instance,this.Solution,null)

一切看起来都不错,除了JetBrains.ReSharper.Psi.Search.SearchDomainFactory.Instance标记为过时,并且给了我一个我无法解决的编译错误,即使使用#pragma也不允许我编译代码。我编译时得到的确切错误消息是Error 16 'JetBrains.ReSharper.Psi.Search.SearchDomainFactory.Instance' is obsolete: 'Inject me!'

明显的下一个问题..好的,怎么样?我如何“注入你”?我找不到关于这个新的重大更改的任何文档,事实上,我找不到任何文档(或示例项目)甚至提到DrivenRefactoringWorkflowRenameWorkflow,(现在需要新 SearchDomainFactory 的类),或任何关于SearchDomainFactory.Instance突然过时的信息以及如何满足“注入”它的需要。

非常感激任何的帮助!谢谢,

问候

艾伦

0 投票
1 回答
81 浏览

resharper-plugins - ReSharper 插件测试中的任意检查

正如我从 DevGuide 中了解到的,测试 ReSharper 插件的工作方式如下:

  1. 加载插件并将测试输入文件传递给它
  2. 插件对传递的文件执行其操作
  3. ReSharper 的测试环境将插件操作结果以特殊格式写入 .tmp 文件,该格式取决于测试的功能类型(例如,如果我们测试完成,.tmp 文件将包含生成的完成项列表)
  4. ReSharper 的测试环境将 .tmp 文件与 .gold 文件进行比较,以确定测试是失败还是成功

但我需要以下场景。前两步同上,则:

  1. 我编写代码来获取插件操作的结果并检查它们是否符合我的预期,以便在需要时使测试失败

我怎样才能做到这一点?

我需要它,因为我有一个使用 ReSharper 生成的 AST 来构建一些图表的代码,我想测试这些图表是否正确构建。

0 投票
1 回答
280 浏览

c# - 创建一个泛型类型以在 Resharper 插件中查找实现

我正在为 resharper 编写一个插件,我想用它来从ConcreteCommand->ConcreteCommandHandler这些类型看起来像这样的地方导航

当光标位于实例/定义上时,我已经添加了导航菜单选项ICommand(目前仅通过检查名称是否包含“Command”而不是“CommandHandler”),我认为我有实际所需的代码搜索一个继承某些东西的类型,但我的问题是我唯一真正拥有的类型是我的ConcereteCommand,我需要创建(或获取对)泛型类型作为光标当前所在的类型ICommandHandler<T>T

所以我还有两件事我还想知道:

  • 如何检查我IDeclaredElement的是否是特定接口的实现(理想情况下,通过在配置中的字符串中指定全名)?
  • 如何创建一个ITypeElement特定接口的泛型类型,我可以从现有IDeclaredElement的 s 类型中设置泛型类型,然后我可以找到继承它的类?

我现有的代码如下所示: