Skip to content

Supported languages and tools#

Codacy uses industry-leading tools to perform automatic static code analysis over 40 supported languages and frameworks:

  • For programming languages Codacy provides static analysis as well as code duplication, code complexity, and test coverage metrics for key languages.

  • For cloud infrastructure-as-code frameworks Codacy provides static analysis to enforce security and compliance best practices.

The table below lists all languages and frameworks that Codacy supports and the corresponding tools that Codacy uses to analyze your source code. Besides this, Codacy uses cloc to calculate the source lines of code for all supported languages and supports multiple test coverage report formats.

Language or framework Static analysis Suggested fixes Duplication Complexity
Apex PMD - -
AWS Cloud​Formation Checkov - -
Azure Resource Manager Templates Checkov - -
C Clang-Tidy1, Cppcheck, Flawfinder PMD CPD -
C# Sonar C# PMD CPD SonarC#
C++ Clang-Tidy1, Cppcheck, Flawfinder PMD CPD -
CoffeeScript Coffeelint - -
Crystal Ameba - -
CSS CSSLint, Stylelint - -
Dockerfile Hadolint - -
Elixir Credo - -
Go aligncheck1, deadcode1, Gosec1, Revive, Staticcheck1 PMD CPD Gocyclo
Groovy CodeNarc - -
Java Checkstyle, PMD, SpotBugs1 PMD CPD PMD
JavaScript ESLint, JSHint, PMD ESLint 🔧 PMD CPD ESLint
JSON Jackson Linter - -
JSP PMD - -
Kotlin Detekt jscpd Detekt
Kubernetes Checkov - -
Less Stylelint - -
Markdown RemarkLint, markdownlint markdownlint 🔧 - -
Objective-C Faux Pas1 - -
PHP PHP_CodeSniffer, PHP Mess Detector PHPCPD PHP Depend
PL/SQL PMD - -
PostgreSQL SQLint - -
PowerShell PSScriptAnalyser - -
Python Bandit, Prospector, Pylint PMD CPD Radon
Ruby Brakeman, Bundler Audit, Rubocop Flay Rubocop
Sass Stylelint - -
Scala Scalameta, Scalastyle, SpotBugs1 PMD CPD Scalastyle, Scala 2 compiler and standard library
Serverless Framework Checkov - -
Shell ShellCheck - -
Swift SwiftLint, Tailor PMD CPD SwiftLint2
Terraform Checkov - -
Transact-SQL TSQLLint - -
TypeScript ESLint, TSLint ESLint 🔧 jscpd ESLint
Velocity PMD - -
Visual Basic SonarVB - -
Visualforce PMD - -
XML PMD - -
XSL PMD - -

1: Supported as a client-side tool.
2: Supports reporting warnings or errors on functions above specific complexity thresholds. Enable the rule Cyclomatic Complexity on the Code Patterns page, or use a configuration file to customize the thresholds.
🔧: Supports suggesting fixes for identified issues.

See also#

Feedback

Did this page help you?

Thank you for the feedback!

We're sorry to hear that. Please let us know what we can improve.

If you have a question, please ask our community or contact support@codacy.com.

Last modified June 17, 2021