Amazon Q Developer provides support for a wide range of programming languages across its various features and capabilities. This page outlines the languages and versions supported for each of its features.
Language support for inline
suggestions
Amazon Q supports inline code suggestions for multiple programming languages. The accuracy and quality of the code generation for a programming language depends on the size and quality of the training data.
In terms of the quality of the training data, the programming languages with the most support are:
-
C
-
C++
-
C#
-
Dart
-
Go
-
Java
-
JavaScript
-
Kotlin
-
Lua
-
PHP
-
PowerShell
-
Python
-
R
-
Ruby
-
Rust
-
Scala
-
Shell
-
SQL
-
Swift
-
SystemVerilog
-
TypeScript
The Infrastructure as Code (IaC) languages with the most support are:
-
CDK (Typescript, Python)
-
HCL (Terraform)
-
JSON
-
YAML
Language support for chat and inline chat
Amazon Q supports a variety of programming languages for chat and inline chat in the IDE, with enhanced performance for popular programming and IaC languages, including but not limited to the following:
-
C
-
C++
-
C#
-
Dart
-
Go
-
Java
-
JavaScript
-
Kotlin
-
PHP
-
Python
-
Ruby
-
Rust
-
Scala
-
Shell
-
SQL
-
Swift
-
TypeScript
The Infrastructure as Code (IaC) languages with the most support are:
-
CDK (Typescript, Python)
-
HCL (Terraform)
-
JSON
-
YAML
Amazon Q chat and inline chat support languages not listed here, including less common languages, though quality can vary.
Language support for transformations
The supported languages for transformation depend on the environment where you are transforming code.
In JetBrains IDEs and Visual Studio Code, the following languages are supported for transformation:
In Visual Studio, the following languages are supported for transformation:
For more information about supported languages and other prerequisites for transformation, see the topic for the type of transformation your are performing.
Language support for feature development with /dev
The Amazon Q agent for feature development supports a variety of languages, with enhanced performance for popular programming languages, including but not limited to the following:
-
Java
-
Python
-
JavaScript
-
TypeScript
The feature development agent also supports less common languages, though quality can vary.
Language and framework support for unit test generation with /test
The Amazon Q agent for unit test generation supports the following languages and test frameworks:
-
Python
-
Supported test frameworks: Pytest, Unittest
-
-
Java
-
Supported test frameworks: JUnit (JUnit 4 and 5, JUnit Jupiter), Mockito
-
Language support for code reviews with /review
Amazon Q code reviews support the following language versions:
-
Java ‐ Java 17 and earlier
-
JavaScript ‐ ECMAScript 2021 and earlier
-
Python ‐ Python 3.11 and earlier, within the Python 3 series
-
C# ‐ All versions (.NET 6.0 and later recommended)
-
TypeScript ‐ All versions
-
Ruby ‐ Ruby 2.7 and 3.2
-
Go ‐ Go 1.18
-
C ‐ C11 and earlier
-
C++ ‐ C++17 and earlier
-
PHP ‐ PHP 8.2 and earlier
-
Kotlin ‐ Kotlin 2.0.0 and earlier
-
Scala ‐ Scala 3.2.2 and earlier
-
JSX ‐ React 17 and earlier
-
Infrastructure as Code (IaC) languages
-
AWS CloudFormation ‐ 2010-09-09
-
Terraform ‐ 1.6.2 and earlier
-
AWS CDK ‐ TypeScript and Python
-
Automatic code fixes are available for scans in the following languages and versions:
-
Java ‐ Java 17 and earlier
-
JavaScript ‐ ECMAScript 2021 and earlier
-
Python ‐ Python 3.11 and earlier, within the Python 3 series
-
C# ‐ All versions (.NET 6.0 and later recommended)
-
TypeScript ‐ All versions
-
Infrastructure as Code (IaC) languages
-
AWS CloudFormation ‐ 2010-09-09
-
Terraform ‐ 1.6.2 and earlier
-
AWS CDK ‐ TypeScript and Python
-
Language support for documentation generation with /doc
Amazon Q supports documentation generation for the following languages:
-
Java
-
Python
-
JavaScript
-
TypeScript
Language support for customizations
Amazon Q supports customizations for the following languages, and uses the listed file types to create customizations:
-
Python (.py)
-
Java (.java)
-
JavaScript (.js, .jsx)
-
TypeScript (.ts, .tsx)
-
Markdown (.md, .mdx)
-
reStructuredText (.rst)
-
Text (.txt)