{"id":15284724,"url":"https://github.com/nvuillam/vscode-groovy-lint","last_synced_at":"2026-04-15T07:12:45.741Z","repository":{"id":42121485,"uuid":"242593236","full_name":"nvuillam/vscode-groovy-lint","owner":"nvuillam","description":"VSCode extension to lint , correct and format groovy and Jenkinsfile ","archived":false,"fork":false,"pushed_at":"2026-02-21T00:35:44.000Z","size":19719,"stargazers_count":84,"open_issues_count":9,"forks_count":18,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-21T06:34:25.242Z","etag":null,"topics":["code-quality-analyzer","codenarc","gradle","groovy","groovy-language","jenkinsfile","linter","nextflow","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://nvuillam.github.io/vscode-groovy-lint/","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nvuillam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":["nvuillam"]}},"created_at":"2020-02-23T21:26:08.000Z","updated_at":"2025-12-19T21:38:43.000Z","dependencies_parsed_at":"2023-12-17T00:25:39.546Z","dependency_job_id":"0af1305d-5b58-418e-ad39-4f1a2d3de988","html_url":"https://github.com/nvuillam/vscode-groovy-lint","commit_stats":{"total_commits":267,"total_committers":12,"mean_commits":22.25,"dds":0.2134831460674157,"last_synced_commit":"d31db62ecf5f3d8a6a1a368d0f28c77f23b76e98"},"previous_names":[],"tags_count":75,"template":false,"template_full_name":null,"purl":"pkg:github/nvuillam/vscode-groovy-lint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fvscode-groovy-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fvscode-groovy-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fvscode-groovy-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fvscode-groovy-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvuillam","download_url":"https://codeload.github.com/nvuillam/vscode-groovy-lint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvuillam%2Fvscode-groovy-lint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29956003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["code-quality-analyzer","codenarc","gradle","groovy","groovy-language","jenkinsfile","linter","nextflow","vscode","vscode-extension"],"created_at":"2024-09-30T14:59:41.835Z","updated_at":"2026-04-15T07:12:45.732Z","avatar_url":"https://github.com/nvuillam.png","language":"Groovy","funding_links":["https://github.com/sponsors/nvuillam"],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD033 --\u003e\n# VsCode Groovy Lint, Format and Fix\n\n[![Visual Studio Marketplace Version (including pre-releases)](https://img.shields.io/visual-studio-marketplace/v/NicolasVuillamy.vscode-groovy-lint)](https://marketplace.visualstudio.com/items?itemName=NicolasVuillamy.vscode-groovy-lint)\n[![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/NicolasVuillamy.vscode-groovy-lint)](https://marketplace.visualstudio.com/items?itemName=NicolasVuillamy.vscode-groovy-lint)\n[![Test](https://github.com/nvuillam/vscode-groovy-lint/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/nvuillam/vscode-groovy-lint/actions/workflows/test.yml)\n[![Mega-Linter](https://github.com/nvuillam/vscode-groovy-lint/actions/workflows/mega-linter.yml/badge.svg?branch=main)](https://github.com/nvuillam/vscode-groovy-lint/actions/workflows/mega-linter.yml)\n[![License](https://img.shields.io/github/license/nvuillam/vscode-groovy-lint.png)](https://github.com/nvuillam/vscode-groovy-lint/blob/master/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/nvuillam/vscode-groovy-lint.png?label=Star\u0026maxAge=2592000)](https://GitHub.com/nvuillam/vscode-groovy-lint/stargazers/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.png?style=flat-square)](https://makeapullrequest.com)\n\n**Lint** (code quality), **Format** and **Auto-fix** your groovy files and Jenkinsfile\n\n[Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=NicolasVuillamy.vscode-groovy-lint) embedding [npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint#README), itself embedding [CodeNarc](https://codenarc.github.io/CodeNarc/)\n\n- You can [configure the rules](https://github.com/nvuillam/npm-groovy-lint#configuration) by defining a `.groovylintrc.json` file\n- If you use **CI**, you can integrate [Mega-Linter](https://github.com/nvuillam/mega-linter#readme) in your workflow, to **make sure all your sources (groovy and other) are clean**\n\n![image](https://github.com/nvuillam/vscode-groovy-lint/raw/main/images/vscode-anim.gif)\n\n## Features\n\n| Command                                | Description                                                                                     | Access                                                   |\n|----------------------------------------|-------------------------------------------------------------------------------------------------|----------------------------------------------------------|\n| **Analyze code**                       | Lint the code of the current file                                                               | Ctrl+Shift+F9\u003cbr/\u003eContextual\u003c/br\u003eStatus bar\u003cbr/\u003eCommands |\n| **Format**                             | Format the code of the current file                                                             | Shift+Alt+F\u003cbr/\u003eContextual\u003c/br\u003eCommands                  |\n| **Fix all auto-fixable problems**      | Fix the code of the current file                                                                | Contextual\u003c/br\u003eCommands                                  |\n| **Lint folder**                        | Lint all applicable files of a folder                                                           | Contextual                                               |\n| Fix single error                       | Apply quick fix for a single problem                                                            | Quick Fix\u003cbr/\u003eDiagnostic                                 |\n| Fix _rule_ in entire file              | Apply quick fix for all problems related to the same rule in the current file                   | Quick Fix\u003cbr/\u003eDiagnostic                                 |\n| Disable _rule_ for this line           | Disable rule only for current line                                                              | Quick Fix\u003cbr/\u003eDiagnostic                                 |\n| Disable _rule_ for this entire file    | Disable rule in the entire file                                                                 | Quick Fix\u003cbr/\u003eDiagnostic                                 |\n| Disable _rule_ for this entire project | Updates configuration file\u003cbr/\u003e(usually `.groovylintrc.js` in root folder) to disable this rule | Quick Fix\u003cbr/\u003eDiagnostic                                 |\n\n- _**Contextual**_: *right click in source code or on folder_\n- _**Commands**_: *Ctrl+Shift+P then type command name_\n- _**Status bar**_: _GroovyLint status item at the bottom right_\n- _**Quick Fix**_: _Hover an underlined part of the code after a lint, click Quick Fix then select action to perform_\n- _**Diagnostic**_: _Right click on a diagnostic in Problems section_\n\n## Extension Settings\n\n| Parameter                     | Description                                                                                                     | Default              |\n|-------------------------------|-----------------------------------------------------------------------------------------------------------------|----------------------|\n| `groovyLint.enable`           | Controls whether GroovyLint is enabled or not                                                                   | true                 |\n| `groovyLint.lint.trigger`     | Run the linter on save (onSave), on type (onType) , or on user request                                          | onSave               |\n| `groovyLint.format.enable`    | Controls whether the groovy formatter is enabled or not                                                         | true                 |\n| `groovyLint.fix.enable`       | Run the auto-fixer on save (onSave), on type (onType) , or on user request                                      | true                 |\n| `groovyLint.fix.trigger`      | Run the fixer on save (onSave), or on user request                                                              | user                 |\n| `groovyLint.basic.loglevel`   | Linting error level (error, warning,info)                                                                       | info                 |\n| `groovyLint.basic.verbose`    | Turn on to have verbose logs                                                                                    | false                |\n| `groovyLint.basic.config`     | [NPM groovy lint configuration file](https://github.com/nvuillam/npm-groovy-lint#configuration)                 | .groovylintrc.json   |\n| `groovyLint.debug.enable`     | Display more logs in VsCode Output panel (select \"GroovyLint\") for issue investigation                          | false                |\n| `groovyLint.java.executable`  | Override java executable to use \u003cbr/\u003eExample: C:\\\\Program Files\\\\Java\\\\jdk1.8.0_144\\\\bin\\\\java.exe              | java                 |\n| `groovyLint.java.options`     | Override java options to use                                                                                    | \"-Xms256m,-Xmx2048m\" |\n| `groovyLint.insight.enable`   | Allow to send anonymous usage statistics used only to improve the tool (we will of course never send your code) | false                |\n| `groovyLint.showProblemsView` | Show Problems View once after start                                                                             | false                |\n\n## Troubleshooting\n\n- [**Node.js**](https://nodejs.org) version **18 or higher** is required to run this extension. If you can't upgrade, you can use [nvm](https://github.com/nvm-sh/nvm) to have [different node versions on your computer](https://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/)\n\n- [**Java**](https://www.java.com/en/download/) version **17 or higher** is required to run this extension\n\n- As CodeNarc is run in background with java/groovy, performances could be improved on large files (do not hesitate to provide advice !)\nBut do not worry, as the groovy linting is provided by a background local server, your VsCode won't be slowed.\n\n## Contribute\n\nContributions are very welcome on :\n\n- [VsCode Groovy Lint](https://github.com/nvuillam/vscode-groovy-lint)\n- [NPM Groovy Lint](https://github.com/nvuillam/npm-groovy-lint) (linter called by this extension)\n\nPlease follow [Contribution instructions](https://github.com/nvuillam/vscode-groovy-lint/blob/master/CONTRIBUTING.md)\n\n## Special Thanks\n\n- [stevenh](https://github.com/stevenh), for his huge refactoring of npm-groovy-lint and vscode-groovy-lint, saving them from deprecation :)\n\n- [yuvmel](https://github.com/yuvmel), for his great support on [#18](https://github.com/nvuillam/vscode-groovy-lint/issues/18) that allowed VsCode Groovy Lint to work much better on Mac, Linux, and with other diagnostic extensions\n\n## Release Notes\n\n### [3.1.0] 2023-12-17\n\n- Added new setting `showProblemsView` that controls if Problems View should open after initial lint pass\n- Fix doc deployment\n- Add stale workflow\n\n### [3.0.0] 2023-12-17\n\n- Update all packages, to address security issues and bring in the latest version of npm-groovy-lint and related fixes.\n- Refactor of tests to more reliable, including being independent of each other so if one test fails others are not effected.\n- Fix partial fixes never applying due to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v10.0.0 breaking change.\n- Fix Analyze Groovy files in folder ([#177](https://github.com/nvuillam/vscode-groovy-lint/issues/177))\n- Debug sessions correctly enable debugging by default including npm-groovy-lint.\n- Upgrade MegaLinter and fix related issues\n\n### [2.0.0] 2022-08-13\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v10.0.0\n  - Upgrade to [CodeNarc 3.1.0](https://github.com/CodeNarc/CodeNarc/blob/master/CHANGELOG.md)\n  - Many fixes and enhancements (see [npm-groovy-lint release note](https://github.com/nvuillam/npm-groovy-lint/releases/tag/v10.0.0))\n\n- UI\n  - Better display for issues contextual menu\n\n- Fixes\n  - Wrong lines highlighted when spaces are replaced by tabs\n  - Document should not be reopened if closed without saving\n  - Some errors were displayed at the beginning of the file instead of the good line\n  - Wrong diagnostics lines are format or fix\n\n### [1.9.1] 2022-08-08\n\n- Fix bug when file diagnostics is stuck with message `GroovyLint is analyzing code...` ([#157](https://github.com/nvuillam/vscode-groovy-lint/issues/157))\n- CI: Upgrade to [MegaLinter v6](https://oxsecurity.github.io/megalinter/latest/)\n\n### [1.9.0] 2022-04-12\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.5.0\n  - Disable telemetry by default\n\n### [1.8.0] 2022-02-25\n\n- Disable telemetry by default ([#93](https://github.com/nvuillam/vscode-groovy-lint/issues/93))\n\n### [1.7.5] 2022-01-26\n\n- Fix crash when npm-groovy-lint does not return results ([#141](https://github.com/nvuillam/vscode-groovy-lint/issues/141))\n\n### [1.7.4] 2022-01-09\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.3.2\n  - Upgrade cli-progress to avoid [colors lib boring but harmless hack](https://github.com/Marak/colors.js/issues/285)\n\n### [1.7.3] 2022-01-06\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.3.1\n  - Fix issue when used as module and with file containing spaces ([#137](https://github.com/nvuillam/vscode-groovy-lint/issues/137))\n\n### [1.7.2] 2021-12-29\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.3.0\n  - Upgrade again log4j to avoid security flaw\n\n### [1.7.1] 2021-12-24\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.2.0\n  - Upgrade again log4j to avoid security flaw\n\n### [1.7.0] 2021-12-14\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.1.0\n  - Upgrade log4j to avoid security flaw\n\n### [1.6.0] 2021-11-27\n\n- Detect Jenkinsfile\n\n### [1.5.2] 2021-11-24\n\n- Fix TS error \u0026 package-lock.json version\n\n### [1.5.1] 2021-11-23\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v9.0.0\n  - Upgrade to [CodeNarc 2.2](https://github.com/CodeNarc/CodeNarc/blob/master/CHANGELOG.md)\n  - Adds [Groovy 3.0.9](http://groovy-lang.org/changelogs/changelog-3.0.9.html) support.\n- Fix use of VsCode setting groovyLint.basic.config to use a generic npm-groovy-lint configuration file\n- Upgrade to MegaLinter v5 and move config in .mega-linter.yml file\n\n### [1.4.0] 2020-12-15\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v8.1.0\n  - Exclude `UnnecessaryGetter`, `FactoryMethodName`, `MethodReturnTypeRequired`, and `GStringExpressionWithinString` in `recommended-jenkinsfile` ([#140](https://github.com/nvuillam/npm-groovy-lint/pull/140)) ([Felipe Santos](https://github.com/felipecrs))\n\n### [1.3.0] 2020-11-15\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v8.0.0\n  - Upgrade to CodeNarc 2.0.0\n  - Improve performances\n  - Fix bugs\n\n### [1.2.7] 2020-09-04\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.5.4\n\n### [1.2.6] 2020-09-02\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.5.2\n- Fix crash when empty groovy file\n- Fix crash when non-sense groovy file\n\n### [1.2.3] 2020-08-29\n\n- Fix bug on Windows when username contains space(s)\n\n### [1.2.2] 2020-08-21\n\n- Allow user to hide future npm-groovy-lint error messages\n- Manage correctly user choice `Never` for tabs auto-replacement by spaces\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.4.0\n\n### [1.2.0] 2020-08-15\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.3.0\n  - Allow to link to [CodeNarc RuleSet files](https://codenarc.github.io/CodeNarc/codenarc-creating-ruleset.html) from `.groovylintrc.json`, using property `\"codenarcRulesets\"`. Warning: doing so means that all other properties of config file will be ignored.\n\n### [1.1.1] 2020-08-11\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.2.0\n  - Upgrade[java-caller](https://www.npmjs.com/package/java-caller) to v2.0.0 : better performances\n\n### [1.1.0] 2020-08-10\n\n- Upgrade to [npm-groovy-lint](https://www.npmjs.com/package/npm-groovy-lint) v7.1.0\n  - Externalize JavaCaller class into a separate package [java-caller](https://www.npmjs.com/package/java-caller) and use it\n\n### PREVIOUS VERSIONS\n\nSee complete [CHANGELOG](https://github.com/nvuillam/vscode-groovy-lint/blob/master/CHANGELOG.md)\n\n-----------------------------------------------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvuillam%2Fvscode-groovy-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvuillam%2Fvscode-groovy-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvuillam%2Fvscode-groovy-lint/lists"}