3

我正在尝试运行 ReSharpers 命令行工具 InspectCode.exe。它运行良好,具有预期的输出。

然而,在我之前尝试让插件工作之后,这次应该支持新版本。命令行界面中有一个开关,可以指定要使用的扩展名。

/extensions (/x) – 允许使用影响代码分析的 ReSharper 扩展。要使用扩展程序,请指定其 ID,您可以通过在 ReSharper 库中打开扩展程序包页面,然后打开包统计信息页面来找到它。多个值用分号分隔。

但我无法让它正常工作。我什至根本无法引起对 /x 开关的任何反应。无论我通过什么方式或通过什么,我都没有从可执行文件中得到任何反馈,并且输出是相同的。传递明显的垃圾时,我什至没有收到错误消息。

我尝试了以下命令行以获得完全相同的结果:

inspectcode.exe /o="rcli.xml" /swea /x="ReSharper.StyleCop" "my.sln"

inspectcode.exe /o="rcli.xml" /swea /x=ReSharper.StyleCop "my.sln"

inspectcode.exe /o="rcli.xml" /swea "my.sln"

inspectcode.exe /o="rcli.xml" /swea /x=ABCDEFG "my.sln"

结果

JetBrains 检查代码 9.1.1

在 64 位模式下运行,.NET 运行时 4.0.30319.18444 在 Microsoft Windows NT 6.1.7601 Service Pack 1 下

根据检查代码命令行设置启用解决方案范围的分析。

分析文件

[文件]

检查报告写入 rcli.xml

我究竟做错了什么?如何让扩展工作?

我已经尝试过R# 论坛,但他们花了超过 24 小时才批准我的帖子,到目前为止我不确定其他人是否阅读过它。

4

2 回答 2

4

不幸的是,由于“ReSharper 平台”中的重构,在 9.0 中放弃了对扩展的支持。我希望 JetBrains 能尽快把它带回来。

参见RSRP-436208

于 2015-07-11T10:55:08.307 回答
2

这是一个迟到的答案,可能会帮助未来的读者(比如我自己)。当前将自动查找和使用与可执行文件 ( sourceinspectcode.exe )位于同一文件夹中的任何 NuGet 包。

CleanCode扩展示例:

  • 如果您在某台机器上有一个 R# 实例并安装了扩展,它将被放置在C:\Users\{user}\AppData\Local\JetBrains\plugins\MO.CleanCode.5.6.15
  • 复制MO.CleanCode.5.6.15.nupkg并粘贴到旁边inspectcode.exe
  • 当使用详细程度 = VERBOSE 运行检查代码时,扩展名应出现在Zones列表中:

    $cmd = "..\JetBrains.ReSharper.CommandLineTools.2019.3.4\inspectcode.exe" 
    $outputFile = "..\Output\$($outputName).xml"
    & $cmd -o="$outputFile" $sln --verbosity=VERBOSE
    

IProjectMode lZone, IPsiAssemblyFileLoaderImplZone, IPsiLanguageZone, IPublicVisibilityZone, IRdFrameworkZone, IRiderModelZone, ISinceClr2HostZone, ISinceClr4HostZone, ITextContro lsZone, IToolsOptionsPageImplZone, IWebPsiLanguageZone, IWindowsNtHostZone, PsiFeaturesImplZone, ReplaceableByIntelliJPlatformZone, SweaZone] Packages: (23pcs)[JetBrains.ExternalAnnotations, JetBrains.Platform.Core.Ide, JetBrains.Platform.Core.IisExpress、JetBrains.Platform.Core.MsBuild、JetBrains.Platform。Core.Shell、JetBrains.Platform.Core.Text、JetBrains.Platform.Interop.CommandLine、JetBrains.Platform.Interop.dotMemoryUnit.Framework、JetBrains.Platform.Interop.dotMemoryUnit.Interop.Console、JetBrains.Platform.Interop.dotMemoryUnit .Interop.Ide、JetBrains.Platform.RdProtocol、JetBrains.Psi.Features.Core、JetBrains.Psi.Features.Cpp.Src。MO.CleanCode ]

于 2020-04-19T06:36:12.910 回答