{"id":13571730,"url":"https://github.com/jshiell/checkstyle-idea","last_synced_at":"2026-02-01T13:15:08.761Z","repository":{"id":2249133,"uuid":"2335594","full_name":"jshiell/checkstyle-idea","owner":"jshiell","description":"CheckStyle plug-in for IntelliJ IDEA","archived":false,"fork":false,"pushed_at":"2025-12-18T10:59:13.000Z","size":19997,"stargazers_count":915,"open_issues_count":37,"forks_count":159,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-12-21T17:39:12.641Z","etag":null,"topics":["checkstyle","inspection","intellij-plugin","java","jetbrains"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/1065-checkstyle-idea","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jshiell.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-09-06T16:16:19.000Z","updated_at":"2025-12-20T17:05:38.000Z","dependencies_parsed_at":"2025-12-18T19:03:31.422Z","dependency_job_id":null,"html_url":"https://github.com/jshiell/checkstyle-idea","commit_stats":{"total_commits":1040,"total_committers":40,"mean_commits":26.0,"dds":"0.49903846153846154","last_synced_commit":"0c115785f884163094f468cdcfc8745e0044168c"},"previous_names":[],"tags_count":252,"template":false,"template_full_name":null,"purl":"pkg:github/jshiell/checkstyle-idea","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshiell%2Fcheckstyle-idea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshiell%2Fcheckstyle-idea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshiell%2Fcheckstyle-idea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshiell%2Fcheckstyle-idea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jshiell","download_url":"https://codeload.github.com/jshiell/checkstyle-idea/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jshiell%2Fcheckstyle-idea/sbom","scorecard":{"id":379668,"data":{"date":"2025-08-11","repo":{"name":"github.com/jshiell/checkstyle-idea","commit":"8d27ec08f060a90090ff4e6e55a2b1c01f4252d9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.2,"checks":[{"name":"Maintained","score":10,"reason":"29 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/jshiell/checkstyle-idea/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jshiell/checkstyle-idea/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/jshiell/checkstyle-idea/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/jshiell/checkstyle-idea/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/jshiell/checkstyle-idea/release.yml/main?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 5.109.2 not signed: https://api.github.com/repos/jshiell/checkstyle-idea/releases/237061999","Warn: release artifact 5.109.1 not signed: https://api.github.com/repos/jshiell/checkstyle-idea/releases/231960427","Warn: release artifact 5.109.0 not signed: https://api.github.com/repos/jshiell/checkstyle-idea/releases/231956150","Warn: release artifact 5.108.1 not signed: https://api.github.com/repos/jshiell/checkstyle-idea/releases/230205102","Warn: release artifact 5.108.0 not signed: https://api.github.com/repos/jshiell/checkstyle-idea/releases/228530031","Warn: release artifact 5.109.2 does not have provenance: https://api.github.com/repos/jshiell/checkstyle-idea/releases/237061999","Warn: release artifact 5.109.1 does not have provenance: https://api.github.com/repos/jshiell/checkstyle-idea/releases/231960427","Warn: release artifact 5.109.0 does not have provenance: https://api.github.com/repos/jshiell/checkstyle-idea/releases/231956150","Warn: release artifact 5.108.1 does not have provenance: https://api.github.com/repos/jshiell/checkstyle-idea/releases/230205102","Warn: release artifact 5.108.0 does not have provenance: https://api.github.com/repos/jshiell/checkstyle-idea/releases/228530031"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:9"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T15:06:33.351Z","repository_id":2249133,"created_at":"2025-08-18T15:06:33.351Z","updated_at":"2025-08-18T15:06:33.351Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28978967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T12:13:08.691Z","status":"ssl_error","status_checked_at":"2026-02-01T12:13:08.356Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["checkstyle","inspection","intellij-plugin","java","jetbrains"],"created_at":"2024-08-01T14:01:05.427Z","updated_at":"2026-02-01T13:15:08.756Z","avatar_url":"https://github.com/jshiell.png","language":"Java","funding_links":[],"categories":["Android Studio","开发环境/工具","Java"],"sub_categories":["Plugins"],"readme":"# CheckStyle-IDEA\n\n\u0026copy; Copyright CheckStyle-IDEA Contributors\n\nHosted on [GitHub](https://github.com/jshiell/checkstyle-idea)\n\n[![Build Status](https://github.com/jshiell/checkstyle-idea/workflows/Build/badge.svg)](https://github.com/jshiell/checkstyle-idea/actions?query=workflow%3A%22Build%22)\n\nA plug-in for JetBrains' IntelliJ IDEA 2024 and 2025 which provides real-time feedback against a given\n[CheckStyle 10-13](https://checkstyle.sourceforge.io) profile by way of an inspection.\n\nPlease note this is not an official part of Checkstyle - they neither endorse\n    nor bear responsibility for this plugin. The logo is sourced from the [Checkstyle resources\n    repository](https://github.com/checkstyle/resources/tree/master/img/cs-logos-twitter-gplus-backgrounds)\n    and used under the [CC BY 4.0 licence](https://github.com/checkstyle/resources/blob/master/img/README.txt).\n\nReleased under a BSD-style licence - please see the LICENCE file for details.\n\n## Use\n\nOnce installed, a new inspection will be available in the group 'CheckStyle'. The 'Inspections' item in the preferences\npanel will allow you to turn this on and to configure it.\n\n## Configuration\n\nConfiguration is available under the *Settings* dialogue, under *Tools* -\u003e *Checkstyle*. This controls configuration for both the inspection and static\nscanning.\n\n### Configuration Files\n\nThe main configuration option is that of the CheckStyle file. Multiple CheckStyle file may be added, and swapped between\nby using the checkbox. Files may be added using the 'Add' button, or you can use the versions of the standard Sun and \nGoogle configuration that are bundled with the selected version of Checkstyle.\n\nIf you need to pass authentication information for rules file accessed via HTTP then you can use the `https://user:pass@host/` form to do so.\n\nThe *Scan Test Classes* checkbox will enable scanning of Java files under test source roots. If disabled, these files\nwill be ignored.\n\nIf a custom file is being used and properties are available for definition then these will accessible using the 'Edit\nProperties' button.\n\n### Eclipse-CS Variable Support\n\nThe following variables will be available if you have not otherwise overridden their values:\n\n* **basedir** - mapped to the location of the current module file, or the project directory as a fallback. \n* **project_loc**, **workspace_loc** - mapped to the project directory.\n* **config_loc**, **samedir** - mapped to the directory the rules file is in, or the project directory for remote rules\n  files (e.g. HTTP).\n\n### Third Party Checks \n\nThis tab allows you to specify any third-party checks which your configuration file makes use of. All selected\ndirectories/JAR files will be added to CheckStyle's classpath.\n\n### Copy libraries from project directory\n\nThe option \"Copy libraries from project directory\" will tell Checkstyle-IDEA to do the following when creating custom\nclassloaders:\n\n- scan a module's classpath and select those library entries which reside somewhere below the project directory\n- copy those libraries to a separate temporary directory (normally under `.idea`, if there is no `.idea` directory,\n  the system temp directory is used)\n\nThe internal classloaders will then use those copied libraries, thus preventing them from getting locked in the file\nsystem. Since this is mainly a problem on Windows, this feature is activated by default on Windows. If you know that\nall your libraries reside outside of the project (as is often the case when build tools such as Maven or Gradle are\nused), then you can disable this feature. Since it slows down checker creation, you might want to keep it disabled\nuntil necessary. After changing this option, it may be necessary to restart IDEA to see the effects.\n\n## Adding additional pre-bundled configurations\n\nWhere you have a shared distribution it may be useful to add additional pre-bundled configurations. This can be done\nby placing a JAR into the `lib` directory of the plugin. The JAR should contain:\n\n* A class that implements the `org.infernus.idea.checkstyle.csapi.BundledConfigProvider` interface\n* A text file `META-INF/service/org.infernus.idea.checkstyle.csapi.BundledConfigProvider` that contains the fully qualified classname of the `BundledConfigProvider`\n* The Checkstyle rules XML file\n\nAt present the `BundledConfigProvider` interface isn't available separately; hence you'll need the plugin JAR to compile.\n\n## Troubleshooting\n\nIf an error occurs during the check an exception will be thrown, which IDEA will then catch and display in the standard\nexceptions dialogue. If you're unsure as to why things are awry this would be your best bet - chances are it's a missing\nproperty or classpath pre-requisite.\n\n## Notable Extensions\n\n### [sevntu.checkstyle](http://sevntu-checkstyle.github.io/sevntu.checkstyle/)\n\n*sevntu.checkstyle* offers a number of useful checks written by students of the Sevastopol National Technical University\n(SevNTU). They're also kind enough to offer instructions on setting them up with this plugin.\n\n### [Checkstyle Addons](http://checkstyle-addons.thomasjensen.com/)\n\n*Checkstyle Addons* offers additional Checkstyle checks not found in other Checkstyle extensions, and it's easy to\n[set up in Checkstyle-IDEA](http://checkstyle-addons.thomasjensen.com/run.html#run-intellij).\n\n## Development\n\nNote that the plugin has been entirely developed on OS X - while it should be fine on Linux, I've no idea what result\nyou'd get with Windows. YMMV.\n\nThe pre-requisites for the plugin are fairly light - you'll need Git and JDK 11. Make sure your `JAVA_HOME`\nenvironment variable is set correctly before invoking Gradle.\n\n    git clone https://github.com/jshiell/checkstyle-idea.git checkstyle-idea\n    cd checkstyle-idea\n\nYou can then easily build via Gradle:\n\n    ./gradlew clean build\n\nTo run it in a sandboxed IDEA, run:\n\n    ./gradlew runIde\n\nTo debug the plugin, import the plugin into IDEA as a Gradle project, and then use the `runIdea` Gradle target in debug\nmode. \n\n## Frequently Asked Questions\n\nIf you're on OS X, use IDEA with the bundled JVM. Otherwise, please ensure IDEA is running using Java 11 or later.\n[Jetbrains offer a support document on this\nsubject](https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under).\n\n## Limitations\n\n* If you import Gradle project withs **Create separate module per source set** active in IDEA 2016 or above then the\n  module source paths are truncated. This means relative paths (e.g. suppressions on `src/test/.+`) may not work as\n  expected.\n* The plugin will throw exceptions if used with class files targeted at a later version than that of the JDK used by\n  IDEA. Please run IDEA on the latest available JVM, ideally the bundled version from JetBrains where available.\n* If you change the configuration options the real-time scan will not be updated until the file is either changed or\n  reopened.\n* We do not check if a property definition is required for a given file. Hence you can exit configuration without\n  setting required properties. Given, however, that CheckStyle files can change without the plug-in being aware this is\n  something we'll always have to live with to some degree.\n* CheckStyle errors and warnings from the inspection are both shown at a single level, as IDEA will only allow one\n  warning level for an inspection.\n\n## Feedback\n\nAny comments or bug reports are most welcome - please visit\nthe project website on [GitHub](https://github.com/jshiell/checkstyle-idea/).\n\n## I need debug information!\n\nThe debug logging of the plugin is arcane and not particularly well done, for which I can only thank myself. However, if \nsuch context is needed then it can be seen by using IDEA's **Help** -\u003e **Debug Log Settings...** and adding:\n\n    #org.infernus.idea.checkstyle\n\n## Acknowledgements\n\nThis plug-in owes its existence to both the style-overlords at work mandating compliance with a CheckStyle\nconfiguration, and the [Eclipse-CS](http://eclipse-cs.sourceforge.net/) authors for making me jealous of the real-time\nscan support available for Eclipse.\n\nThanks to those who have contributed work and effort directly to this project:\n\n* J. G. Christopher\n* jicken\n* Jonas Bergvall\n* Edward Campbell\n* LightGuard.JP\n* Gerhard Radatz\n* Benjy W\n* Yuri\n* Kristin Young\n* Simon Billingsley\n* Miel Donkers\n* Dmitrij (zherebjatjew)\n* Thomas Jensen\n* Rustam Vishnyakov (@dyadix)\n* Thomas Harning (@harningt)\n* František Hartman (@frant-hartm)\n* Victor Alenkov (@BorzdeG)\n* Baron Roberts (@baron1405)\n* George Kankava (@georgekankava)\n* Thomas Jensen (@tsjensen)\n* Klaus Tannenberg (@KTannenberg)\n* Nikolay Bespalov (@nikolaybespalov)\n* @zentol\n* Joey Lee (@yeoji)\n* Tim van der Lippe (@TimvdLippe)\n* @tduehr\n* Mark Brown (@embee1981)\n* Marshall Walker (@marshallwalker)\n* Alexander Schwartz (@ahus1)\n* Mustapha Zorgati (@mustaphazorgati)\n* Roman Karpenko (@neomoto)\n* Akash Mondal (@AkMo3)\n* Bruno Masetto (@bmasetto)\n* Robert Kruszewski (@robert3005)\n* Hyeonmin Park (@kennysoft)\n* Barnesly (@andrewflbarnes)\n* Jan Köper (@JanK411)\n* Jeremy Ziegler (@Uschi003)\n* Ali Ustek (@austek)\n* Richard (@rhierlmeier)\n* James Baker (@james-baker-aera)\n* @LlamaLad7\n* @thorpp\n* @dong4j\n\nAnd also thanks are due to the authors and contributors of:\n\n* Eclipse-CS, for inspiration and solutions to coding problems.\n* JetStyle, for filling the area of static scanning and also giving me inspirations on coding solutions.\n* CheckStyle, for without them we'd have merely void and chaos.\n* JetBrains, for an IDE which is worth every penny and then some.\n\nAnd a big thank-you to everyone who's sent me feedback or bug reports - both are much appreciated!\n\n\n## Licence\n\nThis code is released under a BSD licence, as specified in the accompanying LICENCE file.\n\n\n## Version History\n\nPlease see [the changelog](CHANGELOG.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjshiell%2Fcheckstyle-idea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjshiell%2Fcheckstyle-idea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjshiell%2Fcheckstyle-idea/lists"}