{"id":13594753,"url":"https://github.com/danielpalme/ReportGenerator","last_synced_at":"2025-04-09T10:32:01.692Z","repository":{"id":26780048,"uuid":"30238219","full_name":"danielpalme/ReportGenerator","owner":"danielpalme","description":"ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.","archived":false,"fork":false,"pushed_at":"2024-10-23T20:50:38.000Z","size":118197,"stargazers_count":2620,"open_issues_count":6,"forks_count":283,"subscribers_count":50,"default_branch":"main","last_synced_at":"2024-10-29T15:11:48.073Z","etag":null,"topics":["code-coverage","dotnet-core","reporting","tdd-utilities","testing"],"latest_commit_sha":null,"homepage":"https://reportgenerator.io","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielpalme.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"danielpalme","custom":"https://paypal.me/danielpalme82"}},"created_at":"2015-02-03T10:50:41.000Z","updated_at":"2024-10-29T04:53:40.000Z","dependencies_parsed_at":"2023-01-16T22:16:21.685Z","dependency_job_id":"e7aa2003-a839-4dcb-8fcf-ebe9f1145b71","html_url":"https://github.com/danielpalme/ReportGenerator","commit_stats":{"total_commits":1085,"total_committers":53,"mean_commits":"20.471698113207548","dds":"0.12073732718894015","last_synced_commit":"2e4f78d05e38a7b7a23ca91534358467b32aa020"},"previous_names":[],"tags_count":187,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielpalme%2FReportGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielpalme%2FReportGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielpalme%2FReportGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielpalme%2FReportGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielpalme","download_url":"https://codeload.github.com/danielpalme/ReportGenerator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248020592,"owners_count":21034459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-coverage","dotnet-core","reporting","tdd-utilities","testing"],"created_at":"2024-08-01T16:01:38.746Z","updated_at":"2025-04-09T10:31:56.680Z","avatar_url":"https://github.com/danielpalme.png","language":"C#","funding_links":["https://github.com/sponsors/danielpalme","https://paypal.me/danielpalme82"],"categories":["testing","C#","Libraries","C\\#","C# #"],"sub_categories":["Testing"],"readme":"\u003ch1 align=\"center\"\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/danielpalme/ReportGenerator/main/docs/resources/logo.svg\" alt=\"ReportGenerator\" width=\"200\"/\u003e\n\u003cbr/\u003e\nReportGenerator\n\u003c/h1\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n    \n\u003cb\u003ePowerful code coverage visualization\u003c/b\u003e\n    \n[![GitHub license](https://img.shields.io/badge/license-Apache%202-blue.svg?style=for-the-badge)](https://raw.githubusercontent.com/danielpalme/ReportGenerator/main/LICENSE.txt)\n[![CI-CD](https://img.shields.io/github/actions/workflow/status/danielpalme/ReportGenerator/ci.yml?style=for-the-badge)](https://github.com/danielpalme/ReportGenerator/actions/workflows/ci.yml)\n\n\u003c/div\u003e\n\n*ReportGenerator* converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov, or lcov into human readable reports in various formats.\n\nThe reports show the coverage quotas and also visualize which lines of your source code have been covered.\n\n\nReportGenerator supports merging several coverage files into a single report.\n\n[Browse example HTML report](https://reportgenerator.io/resources/reports/Html/index.html)\n\n\u003cdiv align=\"center\"\u003e\n\n![Input and output](https://danielpalme.github.io/ReportGenerator/resources/input_output.png)\n\n\u003c/div\u003e\n\n## License\n- ReportGenerator is licensed under the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0)\n- You can support the project by buying a [PRO license](https://reportgenerator.io/pro) or by becoming a [GitHub sponsor](https://github.com/sponsors/danielpalme).  \nSponsors have exclusive access to [additional features](https://reportgenerator.io/pro).\n\n## Getting started\n*ReportGenerator* is a commandline tool which works with full .NET Framework and .NET Core.  \nUse the online [configuration tool](https://reportgenerator.io/usage) to get started quickly.\n\n### Install the package matching your platform and needs\n\n|**Package**|**Platforms**|**Installation/Usage**|\n|:----------|:------------|:---------------------|\n|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)\u003cbr/\u003e\u003cbr/\u003e[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core \u003e=6.0\u003cbr/\u003e.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.\u003cbr/\u003e\u003cbr/\u003e**Usage**\u003cbr/\u003e```dotnet $(UserProfile).nuget\\packages\\reportgenerator\\x.y.z\\tools\\net8.0\\ReportGenerator.dll [options]```\u003cbr/\u003e```$(UserProfile).nuget\\packages\\reportgenerator\\x.y.z\\tools\\net8.0\\ReportGenerator.exe [options]```\u003cbr/\u003e\u003cbr/\u003e```$(UserProfile)\\.nuget\\packages\\reportgenerator\\x.y.z\\tools\\net47\\ReportGenerator.exe [options]```|\n|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)\u003cbr/\u003e\u003cbr/\u003e[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core \u003e=6.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.\u003cbr/\u003e\u003cbr/\u003e**Installation**\u003cbr/\u003e```dotnet tool install -g dotnet-reportgenerator-globaltool```\u003cbr/\u003e\u003cbr/\u003e```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```\u003cbr/\u003e\u003cbr/\u003e```dotnet new tool-manifest```\u003cbr/\u003e```dotnet tool install dotnet-reportgenerator-globaltool```\u003cbr/\u003e\u003cbr/\u003e**Usage**\u003cbr/\u003e```reportgenerator [options]```\u003cbr/\u003e```tools\\reportgenerator.exe [options]```\u003cbr/\u003e```dotnet reportgenerator [options]```|\n|[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)\u003cbr/\u003e\u003cbr/\u003e[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.Core.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator.Core)|.NET Standard 2.0|Use this package if you want to write a custom **plugin** for *ReportGenerator* or if you want to call/execute *ReportGenerator* within your code base.\u003cbr/\u003e\u003cbr/\u003e**Plugin development**\u003cbr/\u003e[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)\u003cbr/\u003e[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)|\n|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)\u003cbr/\u003e\u003cbr/\u003e[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core \u003e=6.0| Add the Azure DevOps extension to your build pipeline.\u003cbr /\u003e[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|\n|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core \u003e=6.0| Add the GitHub Action to your build pipeline.\u003cbr /\u003e[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|\n\n### Usage / Command line parameters\nUse the online [configuration tool](https://reportgenerator.io/usage) to get started quickly.  \nThe more advanced settings are documented in the [wiki](https://github.com/danielpalme/ReportGenerator/wiki/Settings).\n\n```\nParameters:\n    [\"]-reports:\u003creport\u003e[;\u003creport\u003e][;\u003creport\u003e][\"]\n    [\"]-targetdir:\u003ctarget directory\u003e[\"]\n    [[\"]-reporttypes:\u003cHtml|HtmlSummary|...\u003e[;\u003cHtml|HtmlSummary|...\u003e][\"]]\n    [[\"]-sourcedirs:\u003cdirectory\u003e[;\u003cdirectory\u003e][;\u003cdirectory\u003e][\"]]\n    [[\"]-historydir:\u003chistory directory\u003e[\"]]\n    [[\"]-plugins:\u003cplugin\u003e[;\u003cplugin\u003e][;\u003cplugin\u003e][\"]]\n    [[\"]-assemblyfilters:\u003c(+|-)filter\u003e[;\u003c(+|-)filter\u003e][;\u003c(+|-)filter\u003e][\"]]\n    [[\"]-classfilters:\u003c(+|-)filter\u003e[;\u003c(+|-)filter\u003e][;\u003c(+|-)filter\u003e][\"]]\n    [[\"]-filefilters:\u003c(+|-)filter\u003e[;\u003c(+|-)filter\u003e][;\u003c(+|-)filter\u003e][\"]]\n    [[\"]-riskhotspotassemblyfilters:\u003c(+|-)filter\u003e[;\u003c(+|-)filter\u003e][;\u003c(+|-)filter\u003e][\"]]\n    [[\"]-riskhotspotclassfilters:\u003c(+|-)filter\u003e[;\u003c(+|-)filter\u003e][;\u003c(+|-)filter\u003e][\"]]\n    [[\"]-verbosity:\u003cVerbose|Info|Warning|Error|Off\u003e[\"]]\n    [[\"]-title:\u003ctitle\u003e[\"]]\n    [[\"]-tag:\u003ctag\u003e[\"]]\n    [[\"]-license:\u003clicense\u003e[\"]]\n\nExplanations:\n   Reports:            The coverage reports that should be parsed (separated by semicolon).\n                       Globbing is supported.\n   Target directory:   The directory where the generated report should be saved.\n   Report types:       The output formats and scope (separated by semicolon).\n                       Values: Badges, Clover, Cobertura, CsvSummary, \n                       MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary\n                       OpenCover\n                       Html, Html_Light, Html_Dark, Html_BlueRed\n                       HtmlChart, HtmlInline, HtmlSummary, Html_BlueRed_Summary\n                       HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Light, HtmlInline_AzurePipelines_Dark\n                       JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MHtml, SvgChart, SonarQube, TeamCitySummary\n                       TextSummary, TextDeltaSummary\n                       Xml, XmlSummary\n   Source directories: Optional directories which contain the corresponding source code (separated by semicolon).\n                       The source directories are used if coverage report contains classes without path information.\n                       Globbing is not supported.\n   History directory:  Optional directory for storing persistent coverage information.\n                       Can be used in future reports to show coverage evolution.\n   Plugins:            Optional plugin files for custom reports or custom history storage (separated by semicolon). \n   Assembly filters:   Optional list of assemblies that should be included or excluded in the report.\n   Class filters:      Optional list of classes that should be included or excluded in the report.\n   File filters:       Optional list of files that should be included or excluded in the report.\n   Risk hotspot assembly filters: Optional list of assemblies that should be included or excluded in the risk hotspots.\n   Risk hotspot class filters:    Optional list of classes that should be included or excluded in the risk hotspots.  \n                       Exclusion filters take precedence over inclusion filters.\n                       Wildcards are allowed.\n   Verbosity:          The verbosity level of the log messages.\n                       Values: Verbose, Info, Warning, Error, Off\n   Title:              Optional title.\n   Tag:                Optional tag or build version.\n   License:            Optional license for PRO version. Get your license here: https://reportgenerator.io/pro\n                       License can also be supplied via 'REPORTGENERATOR_LICENSE' environment variable.\n\nDefault values:\n   -reporttypes:Html\n   -assemblyfilters:+*\n   -classfilters:+*\n   -filefilters:+*\n   -riskhotspotassemblyfilters:+*\n   -riskhotspotclassfilters:+*\n   -verbosity:Info\n\nExamples:\n   \"-reports:coverage.xml\" \"-targetdir:C:\\report\"\n   \"-reports:target\\*\\*.xml\" \"-targetdir:C:\\report\" -reporttypes:Latex;HtmlSummary -title:IntegrationTest -tag:v1.4.5\n   \"-reports:coverage1.xml;coverage2.xml\" \"-targetdir:report\" \"-sourcedirs:C:\\MyProject\" -plugins:CustomReports.dll\n   \"-reports:coverage.xml\" \"-targetdir:C:\\report\" \"-assemblyfilters:+Included;-Excluded.*\"\n```\n\n#### .netconfig support\n\nAll the above parameters can also be persisted in a [.netconfig](https://dotnetconfig.org) file, under a `[ReportGenerator]` \nsection. Examples:\n\n```gitconfig\n[ReportGenerator]\n\treports = coverage.xml\n\ttargetdir = \"C:\\\\report\"\n\treporttypes = Latex,HtmlSummary\n\tassemblyfilters = +Test,-Test\n\tclassfilters = +Test2,-Test2\n```\n\nAll the plural options can also be specified as multiple singular entries, like:\n\n```gitconfig\n[ReportGenerator]\n\treport = coverage1.xml\n\treport = coverage2.xml\n\treporttype = Latex\n\treporttype = HtmlSummary\n\tassemblyfilter = +Test\n\tassemblyfilter = -Test\n\tclassfilter = +Test2\n\tclassfilter = -Test2\n\tfilefilter = +cs\n\tfilefilter = -vb\n\triskhotspotassemblyfilter = +Test\n\triskhotspotassemblyfilter = -Test\n\triskhotspotclassfilter = +Test2\n\triskhotspotclassfilter = -Test2\n\tsourcedir = src\n\tsourcedir = test\n```\n\nAdding/removing values is trivial using the [dotnet-config](https://dotnetconfig.org) CLI:\n\n```bash\n# set a single-valued variable\ndotnet config reportgenerator.reporttypes Latex;HtmlSummary\n# add to multi-valued variable\ndotnet config --add reportgenerator.report coverage3.xml\n# clear all multi-valued entries for a variable\ndotnet config --unset-all reportgenerator.assemblyfilter\n```\n\nOf course it's equally trivial to just edit the `.netconfig` file by hand.\n\n#### MSBuild\nA MSBuild task also exists:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cProject DefaultTargets=\"Coverage\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\" ToolsVersion=\"4.0\"\u003e\n  \u003cItemGroup\u003e\n    \u003cPackageReference Include=\"ReportGenerator\" Version=\"x.y.z\" /\u003e\n  \u003c/ItemGroup\u003e\n  \u003cTarget Name=\"Coverage\"\u003e\n    \u003cItemGroup\u003e\n      \u003cCoverageFiles Include=\"OpenCover.xml\" /\u003e\n    \u003c/ItemGroup\u003e\n    \u003cReportGenerator ProjectDirectory=\"$(MSBuildProjectDirectory)\" ReportFiles=\"@(CoverageFiles)\" TargetDirectory=\"report\" ReportTypes=\"Html;Latex\" HistoryDirectory=\"history\" Plugins=\"CustomReports.dll\" AssemblyFilters=\"+Include;-Excluded\" VerbosityLevel=\"Verbose\" /\u003e\n  \u003c/Target\u003e\n\u003c/Project\u003e\n```\n\nThe MSBuild task parameters can be complemented with the `.netconfig`, if used. That means that parameters \ncan be omitted if they are provided via `.netconfig`, which is useful when reusing fixed settings across \nmultiple projects in a solution, where the MSBuild task is only provided the dynamic values for the current \nproject:\n\nGiven the following `.netconfig`:\n\n```gitconfig\n[ReportGenerator]\n  reporttypes = Html;Latex\n  targetdirectory = report\n  historydirectory = history\n  assemblyfilters = +Include;-Excluded\n  verbosityLevel = Verbose\n```\n\nThe above target could be simplified as:\n\n```xml\n  \u003cTarget Name=\"Coverage\"\u003e\n    \u003cItemGroup\u003e\n      \u003cCoverageFiles Include=\"OpenCover.xml\" /\u003e\n    \u003c/ItemGroup\u003e\n    \u003cReportGenerator ProjectDirectory=\"$(MSBuildProjectDirectory)\"\n                     ReportFiles=\"@(CoverageFiles)\" \n                     Plugins=\"CustomReports.dll\" /\u003e\n  \u003c/Target\u003e\n```\n\n\n## Supported input and output file formats\n*ReportGenerator* supports several input and output formats.  \nThe wiki explains the different [output formats](https://github.com/danielpalme/ReportGenerator/wiki/Output-formats) or you can download [sample reports](https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip) of all supported output formats.  \nIf you need a custom format, you can create a [plugin](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports).\n\n| **Input formats** | **Output formats** |\n|:------------------|:-------------------|\n| \u003cul\u003e\u003cli\u003e[OpenCover](https://github.com/OpenCover/opencover) ([Nuget](https://www.nuget.org/packages/OpenCover))\u003cbr/\u003eOpenCover format is also generated by [coverlet](https://github.com/coverlet-coverage/coverlet/) and [altcover](https://github.com/SteveGilham/altcover)\u003c/li\u003e\u003cli\u003e[dotCover](https://www.jetbrains.com/dotcover/help/dotCover__Console_Runner_Commands.html) ([Nuget](https://www.nuget.org/packages/JetBrains.dotCover.CommandLineTools/), /ReportType=DetailedXML)\u003c/li\u003e\u003cli\u003eVisual Studio ([vstest.console.exe](https://github.com/danielpalme/ReportGenerator/wiki/Visual-Studio-Coverage-Tools#vstestconsoleexe), [CodeCoverage.exe](https://github.com/danielpalme/ReportGenerator/wiki/Visual-Studio-Coverage-Tools#codecoverageexe))\u003c/li\u003e\u003cli\u003e[NCover](https://www.ncover.com/info/download) (tested version 1.5.8, other versions may not work)\u003c/li\u003e\u003cli\u003e[Cobertura](https://github.com/cobertura/cobertura)\u003c/li\u003e\u003cli\u003e[JaCoCo](https://www.jacoco.org/jacoco/index.html) (version 0.8.3 or greater)\u003c/li\u003e\u003cli\u003e[Clover](https://openclover.org/)\u003c/li\u003e\u003cli\u003eMono ([mprof-report](https://www.mono-project.com/docs/debug+profile/profile/profiler/#analyzing-the-profile-data))\u003c/li\u003e\u003cli\u003e[gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html)\u003c/li\u003e\u003cli\u003e[lcov](https://github.com/linux-test-project/lcov)\u003c/li\u003e\u003c/ul\u003e\u003cbr/\u003e\u003cbr/\u003e | \u003cul\u003e\u003cli\u003eHtml, Html_Light, Html_Dark, Html_BlueRed, HtmlSummary, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Light, HtmlInline_AzurePipelines_Dark, [MHtml](https://en.wikipedia.org/wiki/MHTML)\u003c/li\u003e\u003cli\u003eClover\u003c/li\u003e\u003cli\u003eCobertura\u003c/li\u003e\u003cli\u003eOpenCover ([PRO version](https://reportgenerator.io/pro) only)\u003c/li\u003e\u003cli\u003e[SonarQube](https://docs.sonarqube.org/latest/analysis/generic-test)\u003c/li\u003e\u003cli\u003eTeamCitySummary\u003c/li\u003e\u003cli\u003e[lcov](https://github.com/linux-test-project/lcov)\u003c/li\u003e\u003cli\u003eXml, XmlSummary\u003c/li\u003e\u003cli\u003eJsonSummary\u003c/li\u003e\u003cli\u003eLatex, LatexSummary\u003c/li\u003e\u003cli\u003eTextSummary, TextDeltaSummary\u003c/li\u003e\u003cli\u003eCsvSummary\u003c/li\u003e\u003cli\u003eMarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary\u003c/li\u003e\u003cli\u003eSvgChart\u003c/li\u003e\u003cli\u003eBadges\u003c/li\u003e\u003cli\u003e[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)\u003c/li\u003e\u003c/ul\u003e |\n\n### Screenshots\nThe screenshots show two snippets of the generated reports:\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://danielpalme.github.io/ReportGenerator/resources/screenshot1_dark.webp\"\u003e\n  \u003cimg alt=\"Screenshot 1\" src=\"https://danielpalme.github.io/ReportGenerator/resources/screenshot1.webp\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://danielpalme.github.io/ReportGenerator/resources/screenshot2_dark.webp\"\u003e\n  \u003cimg alt=\"Screenshot 2\" src=\"https://danielpalme.github.io/ReportGenerator/resources/screenshot2.webp\"\u003e\n\u003c/picture\u003e\n\n**Badges**  \nBadges in SVG format can be generated if `-reporttypes:Badges` is used:\n\nExample: ![Sample badge](https://danielpalme.github.io/ReportGenerator/resources/badge.svg)  \n\n[See all badges](https://reportgenerator.io/resources/reports/Badges/index.html)\n\n## Resources\n\n### Visual Studio extensions\nThe following extensions exist to visualize coverage in Visual Studio: \n| **Name** | **Coverage tool** | **Links** |\n|:---------|:------------------|:----------|\n| Run Coverlet Report VS2022 | [coverlet](https://github.com/coverlet-coverage/coverlet/) | [GitHub](https://github.com/the-dext/RunCoverletReport)\u003cbr/\u003e[Marketplace](https://marketplace.visualstudio.com/items?itemName=ChrisDexter.RunCoverletReportVs2022) |\n| FineCodeCoverage | [coverlet](https://github.com/coverlet-coverage/coverlet/), [OpenCover](https://github.com/OpenCover/opencover) | [GitHub](https://github.com/FortuneN/FineCodeCoverage)\u003cbr/\u003e[Marketplace](https://marketplace.visualstudio.com/items?itemName=FortuneNgwenya.FineCodeCoverage) |\n\n\n### Links\n* https://www.palmmedia.de/Blog/2017/12/6/reportgenerator-new-release-with-risk-hotspots-analysis\n* https://www.palmmedia.de/Blog/2016/11/6/reportgenerator-new-release-with-enhanced-html-report-and-cobertura-support\n* https://www.palmmedia.de/Blog/2015/1/27/reportgenerator-new-beta-with-historytrend-charts\n* https://www.palmmedia.de/Blog/2012/4/29/reportgenerator-new-release-with-more-advanced-report-preprocessing\n\n### Download statistics\n![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?label=ReportGenerator%40nuget\u0026style=for-the-badge)\n![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?label=dotnet-reportgenerator-globaltool%40nuget\u0026style=for-the-badge)\n![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?label=ReportGenerator.Core%40nuget\u0026style=for-the-badge)\n\n![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?label=Azure%20DevOps\u0026style=for-the-badge)\n![GitHub All Releases](https://img.shields.io/github/downloads/danielpalme/ReportGenerator/total.svg?label=GitHub\u0026style=for-the-badge)\n![Chocolatey](https://img.shields.io/chocolatey/dt/reportgenerator.portable.svg?label=Chocolatey\u0026style=for-the-badge)\n\n### Trends\n[Nuget downloads](https://nugettrends.com/packages?months=24\u0026ids=ReportGenerator\u0026ids=dotnet-reportgenerator-globaltool\u0026ids=ReportGenerator.Core\u0026ids=dotnet-reportgenerator-cli)  \n[GitHub stars](https://star-history.t9t.io/#danielpalme/ReportGenerator)\n\n## Contact\n\nAuthor: Daniel Palme  \nBlog: [www.palmmedia.de](https://www.palmmedia.de)  \nTwitter: [@danielpalme](https://twitter.com/danielpalme)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielpalme%2FReportGenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielpalme%2FReportGenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielpalme%2FReportGenerator/lists"}