Amazon Q Developer is an AI-powered conversational assistant from Amazon Web Services (AWS) designed to help developers and IT professionals understand, build, extend, and operate applications on AWS and beyond. As of April 30, 2024, the features of Amazon CodeWhisperer, AWS's AI coding companion, have been integrated into Amazon Q Developer. This means Amazon Q Developer now provides comprehensive AI-powered assistance directly within your Integrated Development Environment (IDE), the AWS Management Console, and other AWS services.
It leverages advanced generative AI models, trained on a vast corpus of code and AWS documentation, to offer real-time code suggestions, answer technical questions, help with debugging, perform security scans, and streamline various aspects of the software development lifecycle. Amazon Q Developer aims to significantly boost developer productivity, improve code quality, and accelerate application development, especially for those working within the AWS ecosystem.
Amazon Q Developer offers a rich set of AI-driven capabilities for developers, building upon the foundation of Amazon CodeWhisperer:
- AI Code Completion & Suggestions:
- Real-time, Context-Aware Suggestions: Provides inline code suggestions as you type, ranging from single lines to entire functions and logical blocks.
- Natural Language to Code (Comment-to-Code): Generate code snippets or full functions by writing a comment in natural language describing the desired functionality.
- Block Completion: Intelligently completes
if/for/while/try
code blocks.
- Documentation Assistance: Generates docstrings, JSDoc, and Javadoc completions.
- Amazon Q Chat in the IDE & AWS Environments:
- A conversational interface to ask coding-related questions, get explanations of code, debug issues, and learn about AWS services and best practices.
- Can provide guidance on AWS architecture, service selection, and troubleshooting.
- Optimized for AWS Services:
- Provides code suggestions specifically tailored for AWS APIs, SDKs, and services (e.g., Amazon S3, AWS Lambda, Amazon EC2, Amazon DynamoDB).
- Helps developers write code that effectively utilizes the AWS cloud.
- Security Scans:
- Integrates with Amazon CodeGuru (in some IDEs like VS Code and JetBrains) to perform security scans on your active code files and their dependencies.
- Identifies potential security vulnerabilities (e.g., hardcoded credentials, unsanitized inputs) and often suggests remediations.
- Reference Tracker for Open Source Code:
- Identifies code suggestions that may resemble publicly available open-source training data.
- Provides references to the original source code and its associated license (e.g., MIT, Apache 2.0), helping developers with attribution and license compliance.
- Users can choose to filter out suggestions that resemble public code.
- Code Transformation & Modernization (Amazon Q Developer Pro):
- Java Version Upgrades: Assists in upgrading Java applications from older versions (e.g., Java 8, 11) to newer ones (e.g., Java 17).
- Other code improvement and optimization suggestions.
- IDE Integration:
- Seamlessly integrates with popular IDEs via the AWS Toolkit extension, including Visual Studio Code (VS Code), JetBrains IDEs (IntelliJ IDEA, PyCharm, GoLand, WebStorm, Rider, etc.), AWS Cloud9, AWS Lambda console, AWS Toolkit for Visual Studio, and Eclipse (Preview).
- Command Line Interface (CLI) Completions:
- Provides AI-powered completions and assistance for public CLIs.
- Customizations (Amazon Q Developer Pro):
- Allows organizations to customize Amazon Q Developer to make inline code recommendations and chat responses more relevant by grounding them in their own private codebase and internal knowledge.
- Administrative Controls (Amazon Q Developer Pro):
- Centralized license management and policy control for organizations using AWS IAM Identity Center.
- Analytics dashboard for usage.
Amazon Q Developer (with CodeWhisperer capabilities) is valuable for a wide range of developer tasks:
- Accelerating Application Development: Speeding up coding by generating boilerplate code, completing common functions, and suggesting entire logical blocks, especially when working with AWS services.
- Developing on AWS: Easily find and use the correct AWS APIs and SDKs, implement AWS best practices, and write code for services like Lambda, S3, EC2, DynamoDB, etc.
- Learning & Onboarding: Helping developers learn new programming languages, frameworks, or AWS services by providing contextual code examples and explanations.
- Improving Code Quality & Security: Identifying and suggesting remediations for security vulnerabilities and bugs early in the development process.
- Managing Open Source License Compliance: Using the reference tracker to understand the origin and license of code suggestions resembling open-source code.
- Writing Unit Tests: Generating relevant unit test code for functions and methods.
- Generating Documentation: Assisting in creating docstrings and comments for code.
- Debugging: Using the chat interface to ask questions about errors or unexpected behavior and get suggestions.
- Modernizing Applications: Leveraging code transformation features like Java version upgrades.
- Working with Infrastructure as Code (IaC): Generating code for AWS CloudFormation (JSON, YAML), Terraform (HCL), and AWS CDK (TypeScript, Python).
Here's a general guide to getting started with Amazon Q Developer's coding assistance:
- Set Up Your AWS Account/Builder ID:
- Individual Tier (Free): Sign up for a free AWS Builder ID using your email. No AWS account is required for this tier.
- Professional Tier: Requires an AWS account and setup through IAM Identity Center for organizational management.
- Install the AWS Toolkit:
- Install the AWS Toolkit extension in your preferred IDE (e.g., VS Code Marketplace, JetBrains Marketplace).
- Authenticate:
- Open the AWS Toolkit panel in your IDE.
- Under Developer Tools, find Amazon Q + CodeWhisperer and choose "Sign in to get started."
- Select the appropriate authentication method (AWS Builder ID for Individual tier, IAM Identity Center for Professional tier) and follow the prompts.
- Getting Code Suggestions:
- Start typing code in a supported language. Amazon Q Developer will automatically provide suggestions in grayed-out text as you type or when you pause.
- Accept Suggestion: Press
Tab
.
- Dismiss Suggestion: Press
Esc
.
- Cycle Through Suggestions: Use the arrow keys (
→
and ←
) to view alternative suggestions if multiple are available.
- Manual Trigger: You can often manually trigger suggestions (e.g., Option+C on macOS, Alt+C on Windows in VS Code).
- Generating Code from Comments:
- Write a descriptive comment in natural language outlining the function or code block you want to create (e.g.,
// function to upload a file to S3 bucket
).
- Press Enter, and Amazon Q Developer will suggest the corresponding code.
- Using Amazon Q Chat in the IDE:
- Open the Amazon Q Developer chat panel within your IDE.
- Ask coding-related questions, request code explanations, ask for debugging help, or seek guidance on AWS services (e.g., "How do I create a DynamoDB table in Python?", "Explain this regular expression", "Debug this function").
- Running Security Scans:
- In supported IDEs (like VS Code and JetBrains), you can initiate a security scan for your current file or project through the AWS Toolkit or Amazon Q Developer panel.
- Detected vulnerabilities will typically be highlighted in the code and listed in a problems panel with suggested fixes.
- Using the Reference Tracker:
- When a code suggestion resembles open-source code, Amazon Q Developer will often indicate this.
- A "Reference Log" or similar panel will show the source repository and license information for such suggestions, allowing you to review and decide on appropriate attribution or usage. You can also configure settings to filter out suggestions that resemble public code.
Amazon Q Developer offers different tiers for its coding assistance capabilities:
- Free Tier (Using AWS Builder ID):
- Cost: $0/month.
- Code Completions & Chat (Q&A): Included, with a limit on chat interactions (e.g., 50 per month).
- Amazon Q Developer Agents for Software Development (includes security & code quality scanning): Limited invocations (e.g., 10 per month). (Note: Older CodeWhisperer Individual tier mentioned 50 security scans/month; the Q Developer pricing page is the most current reference).
- Amazon Q Developer Transformation Capability for Java Upgrades: Limited lines of code per month (e.g., 1,000).
- Reference Tracking & Suppress Public Code Suggestions: Included.
- Authentication: AWS Builder ID.
- Data Collection: Opt-out available for content usage for service improvement.
- IP Indemnity: Not included.
- Pro Tier (Amazon Q Developer Pro - for organizations using IAM Identity Center):
- Cost: $19 USD per user per month.
- Code Completions & Chat (Q&A): Included (higher limits or "included" for chat).
- Amazon Q Developer Agents for Software Development (includes security & code quality scanning): Included (higher limits or "included").
- Amazon Q Developer Transformation Capability for Java Upgrades: More lines of code per month per user, pooled at the account level (e.g., 4,000), with options to purchase extra lines.
- Customize Amazon Q Developer Recommendations: Ability to customize inline code recommendations and chat responses based on organizational context (requires additional setup and may have separate pricing implications for the customization itself).
- Administrative Features: User management via IAM Identity Center, analytics dashboard, policy management.
- Authentication: IAM Identity Center.
- Data Collection: Automatically opted out of content usage for service improvement.
- IP Indemnity: Included.
Note: Pricing, feature limits, and specific offerings are subject to change. Always refer to the official Amazon Q Developer pricing page (https://aws.amazon.com/q/developer/pricing/) for the most current and detailed information.
- Ownership: You own the code you write with the assistance of Amazon Q Developer. AWS does not claim ownership of your code or the suggestions.
- Responsibility: You are responsible for the code you develop, including testing, security, and ensuring it complies with any applicable licenses.
- Reference Tracker: This feature helps manage compliance by identifying suggestions similar to open-source code and providing license information, enabling you to make informed decisions about attribution and use.
- IP Indemnity (Pro Tier): The Pro tier of Amazon Q Developer includes IP indemnification, offering an additional layer of protection for businesses.
Always review the AWS Customer Agreement and relevant service terms for definitive information on intellectual property, data usage, and commercial rights.
Q1: What is Amazon Q Developer, and how does it relate to Amazon CodeWhisperer?
A1: Amazon Q Developer is an AI-powered conversational assistant for building on AWS. As of April 30, 2024, Amazon CodeWhisperer (AWS's AI coding companion) became a part of Amazon Q Developer, providing its code suggestion, security scanning, and reference tracking capabilities within the broader Q Developer experience.
Q2: How does Amazon Q Developer generate code suggestions?
A2: It uses advanced generative AI models trained on billions of lines of code (including open-source and Amazon code) and AWS documentation. It analyzes the context of your current code and comments to predict and generate relevant code snippets, from single lines to entire functions.
Q3: What programming languages and IDEs does Amazon Q Developer support for coding assistance?
A3: It supports many popular languages like Java, Python, JavaScript, TypeScript, C#, Go, PHP, Rust, Kotlin, SQL, C, C++, Shell, and Scala, as well as IaC languages like CloudFormation (JSON/YAML), Terraform (HCL), and CDK. It integrates with IDEs like VS Code, JetBrains suite, AWS Cloud9, AWS Lambda console, and more via the AWS Toolkit.
Q4: Is Amazon Q Developer (for coding) free?
A4: Yes, Amazon Q Developer offers a Free Tier for individuals using an AWS Builder ID. This tier includes code suggestions, reference tracking, a limited number of security scans, and limited chat interactions. A Pro Tier ($19/user/month) is available for organizations, offering higher limits, administrative features, customization, and IP indemnity.
Q5: How does the Reference Tracker work?
A5: When Amazon Q Developer suggests code that closely resembles publicly available open-source code it was trained on, the Reference Tracker will flag it and provide a link to the original source repository and its license. This helps developers with attribution and license compliance.
Q6: What are Security Scans in Amazon Q Developer?
A6: The security scanning feature analyzes your code (both generated and manually written) to detect potential security vulnerabilities based on common best practices and standards (e.g., OWASP). It can identify issues and often suggest remediations.
Q7: How does Amazon Q Developer handle my code and data privacy?
A7: AWS has a shared responsibility model for security. User code and data are encrypted in transit and at rest.
* Pro Tier: User content (code snippets, prompts) processed by Amazon Q Developer is not stored or used to improve the service or train its underlying models. It is automatically opted out.
* Free Tier: Users can opt-out of having their content used for service improvement.
Customizations in the Pro tier are isolated within your account. Always review the official AWS data privacy documentation.
Q8: Is Amazon Q Developer optimized for AWS services?
A8: Yes, a key strength of Amazon Q Developer is its deep understanding of AWS services, APIs, and SDKs. It provides tailored code suggestions that help developers effectively build applications on the AWS cloud.
AWS emphasizes security and responsible AI practices for Amazon Q Developer:
- Data Protection: Follows the AWS shared responsibility model. Data is encrypted in transit (TLS) and at rest (e.g., AWS KMS).
- Content Usage for Service Improvement:
- Pro Tier: Customer content processed by Amazon Q Developer Pro is not stored or used to train the underlying models that power it.
- Free Tier: Users have the option to opt-out of having their content used for service improvement.
- Customizations: When customizations are created (Pro Tier), the code files are protected, encrypted, and access is controlled by the administrator. The original files are deleted after the customization is created.
- Responsible AI: Built on Amazon Bedrock, which includes automated abuse detection to enforce safety, security, and responsible use of AI.
- Reference Tracking: Promotes responsible use of open-source code by providing attribution information.