Plugins 如何让Resharpers代码识别插件?

Plugins 如何让Resharpers代码识别插件?,plugins,resharper,command-line-interface,code-inspection,Plugins,Resharper,Command Line Interface,Code Inspection,我正在尝试运行ReSharpers命令行工具InspectCode.exe。它运行良好,以预期的输出完成了它的工作 然而,在我完成了让插件工作的任务后,这次新版本应该支持插件。命令行界面中有一个开关,允许指定要使用的扩展名 /扩展(/x)–允许使用影响代码分析的ReSharper扩展。要使用扩展,请指定其ID,您可以通过在ReSharper Gallery中打开扩展包页面,然后打开包统计信息页面来找到该ID。多个值用分号分隔 但我不能让它正常工作。我甚至无法对/x开关产生任何反应。无论我如何传递

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

然而,在我完成了让插件工作的任务后,这次新版本应该支持插件。命令行界面中有一个开关,允许指定要使用的扩展名

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

但我不能让它正常工作。我甚至无法对/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

在Microsoft Windows NT下以64位模式运行.NET运行时4.0.30319.18444 6.1.7601服务包1

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

分析文件

[档案]

检查报告已写入rcli.xml

我做错了什么?如何让扩展正常工作?


我已经试过了,但他们花了超过24小时才批准我的帖子,到目前为止我还不确定是否有人读过。

不幸的是,由于“ReSharper平台”中的重构,9.0中对扩展的支持被取消了。我希望喷气式飞机能很快把它送回来


请参阅。

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

扩展示例:

  • 如果您在某台计算机上有一个R#实例并安装了扩展,它将被放置在
    C:\Users\{user}\AppData\Local\JetBrains\plugins\MO.CleanCode.5.6.15
  • 复制
    MO.CleanCode.5.6.15.nupkg
    并将其粘贴到
    inspectcode.exe
  • 当运行verbosity=VERBOSE的inspectcode时,扩展名应出现在
    区域
    列表中:

    $cmd = "..\JetBrains.ReSharper.CommandLineTools.2019.3.4\inspectcode.exe" 
    $outputFile = "..\Output\$($outputName).xml"
    & $cmd -o="$outputFile" $sln --verbosity=VERBOSE
    
分区:(52个)[代码检查页面ImplZone,DaemonEngineZone, DaemonZone、IAMD64CPU体系结构主机区、IAspMvcZone、, iBATCHTOOLEEnvironmentZone、ICLR实施主机区、, ICLRPSLanguageZone,ICodeEditingOptionsPageImplZone, IConsoleenEnvironmentZone、ICppProductZone、ICpuArchitectureHostZone、, IDocumentModelZone、IEnvironmentZone、IHostSolutionZone、, IInspectCodeConsoleEnvironmentZone,IInspectCodeEnvironmentZone, IInspectCodeZone、ILanguageAspZone、ILanguageBuildScriptsZone、, IlanguageCpsZone,I LanguageCSharpZone,IlanguageCsZone, ILanguageHtmlZone、ILanguageIlZone、ILanguageJavaScriptZone、, IlanguagesBuildZone、ILanguageNAntZone、ILanguageProtobufZone、ILa Nguagerazone、IlanguagereExpzone、ILanguageResxZone、, ILanguageVBZone、ILanguageXamlZone、INetFrameworkHostZone、INuGetZone、, IOperatingSystemHostZone,IProjectMode lZone, IPsiAssemblyFileLoaderImplZone,IPsiLanguageZone, IPPublicVisibilityZone、IrFrameworkZone、IrDermodelZone、, ISinceClr2HostZone、ISinceClr4HostZone、ITextContro lsZone、, IToolsOptionsPageImplZone、IWebPSLanguageZone、IWindowsNtHostZone、, PsiFeaturesImplZone,可替换为IntelliJPlatformZone,SweaZone] 包装:(23件)[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.dotMe moryUnit.Interop.Console, JetBrains.Platform.Interop.dotmoryunit.Interop.Ide, JetBrains.Platform.RdProtocol,JetBrains.Psi.Features.Core, JetBrains.Psi.Features.Cpp.Src.Core、JetBrains.Psi.Features.Src、, JetBrains.Psi.Features.Tasks、JetBrains.Psi.Features.UnitTesting、, JetBrains.Psi.Features.Web.Core,JetBrains.ReSharperAutomatio nTools.src.CleanupCode, JetBrains.ReSharperAutomationTools.src.CommandLineCore, JetBrains.ReSharperAutomationTools.src.CommandLineProducts, JetBrains.ReSharperAutomat ionTools.src.DuplicatesFinder, JetBrains.ReSharperAutomationTools.src.InspectCode,MO.CleanCode]


哇,有一个命令行开关,不做任何事情。。。故意地这是一个新的低点,我没有料到JetBrains会这么做。谢谢你给我指出了正确的方向。哦,我不知道我能。登录并执行:)只是一点上下文-它本身并没有被“删除”,但这是由于ReSharper平台的重构。9.x改变了ReSharper的工作方式——不再将每个产品(ReSharper、dotCover、dotTrace等)都作为Visual Studio的插件,而是将所有产品依次插入一个基本VS插件(平台)。这将插件从动态加载更改为静态注册(因为VS需要这样做),命令行工具希望能够动态加载它们。这种不匹配尚未解决。我不确定,但我认为这种限制在当前的R#版本中不再适用(请参阅下面的答案)。即将发布的2020.3版本将使/x命令行参数恢复使用。工具将自动下载指定的插件。