Amazon CodeWhisperer Overview
Amazon CodeWhisperer is an AI-powered code generator offered by AWS. It is proficiently trained on billions of lines of code and can generate code suggestions in real-time, ranging from snippets to full functions, based on your comments and existing code. This tool can help you save time on tedious coding tasks and expedite the process of building with unfamiliar APIs. It supports 15 programming languages, such as Python, Java, and JavaScript, and is compatible with your preferred integrated development environments (IDEs) like VS Code, IntelliJ IDEA, AWS Cloud9, AWS Lambda console, JupyterLab, and Amazon SageMaker Studio.
Amazon CodeWhisperer provides a free Individual Tier for individual use, which includes unlimited code suggestions, reference tracking, and 50 security scans per user per month. Additionally, it has inbuilt security scans that can detect difficult-to-find vulnerabilities and provide code suggestions to fix them immediately.
The tool also has a built-in reference tracker that can identify whether a code suggestion resembles open-source training data. It can flag such suggestions and annotate them with the open-source project's repository URL, file reference, and license information so that you can review them before deciding whether to incorporate the suggested code.
Amazon CodeWhisperer Features
Real-time code suggestions customized for each developer
Amazon CodeWhisperer generates real-time code suggestions customized for each developer. It is trained on billions of lines of Amazon and publicly available code, and understands comments written in natural language (in English). It can suggest multiple code suggestions in real time to improve developer productivity, suggesting entire functions and logical blocks of code (often consisting of up to 10-15 lines of code) directly in the integrated development environments (IDE) code editor. The generated code is similar to how one would write code, matching the developer's style and naming conventions. Developers can quickly accept the top suggestion (tab key), view more suggestions (arrow keys), or continue writing their own code. However, it is recommended to review a code suggestion before accepting it, and sometimes it might need editing to ensure that it does exactly what was intended. As developers type, CodeWhisperer even provides suggestions to complete the comment itself.
Programming languages and IDEs supported by CodeWhisperer
CodeWhisperer provides support for multiple programming languages, including Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL, Scala, JSON, YAML, and HCL. It can be used from multiple IDEs, including JetBrains IDEs (IntelliJ IDEA, Visual Studio, PyCharm, WebStorm, and Rider), Visual Studio (VS) Code, AWS Cloud9, the AWS Lambda console, JupyterLab, and Amazon SageMaker Studio.
CodeWhisperer for command line: Modernizing the command line
CodeWhisperer for the command line modernizes the command line with features such as personalized code completions, inline documentation, and AI natural-language-to-code translation. It includes support for popular command lines such as macOS terminal, iTerm2, and the built-in VS Code terminal.
CodeWhisperer's optimization for AWS services and security scans
CodeWhisperer makes it more efficient for developers to use AWS services by providing code suggestions that are optimized for AWS APIs including Amazon Elastic Compute Cloud (Amazon EC2), AWS Lambda, and Amazon Simple Storage Service (Amazon S3). It also identifies hard-to-find security vulnerabilities with built-in security scans, and provides code suggestions to remediate the identified issues. Built-in security scanning detects issues such as exposed credentials and log injection. Generative AI-powered code suggestions remediate the identified vulnerabilities and are tailored to the developer's application code, ensuring swift and confident fixes. CodeWhisperer provides a built-in reference tracker that detects whether a code suggestion might resemble publicly available code and can flag such suggestions. Flagged suggestions that are used are logged so that developers can review later and add license attribution at their discretion.
Built-in reference tracker and avoiding bias in code suggestions
Lastly, CodeWhisperer helps developers avoid bias by filtering out code suggestions that might be considered biased and unfair. It also provides enterprise administration, allowing users or groups access to CodeWhisperer using single sign-on (SSO) with AWS IAM Identity Center integration. Group-wide policies, such as including suggestions with referenced code, can be managed.
Amazon CodeWhisperer Alternatives
OpenAI Codex
The OpenAI Codex tool is recognized as a leading AI code tool at present. It leverages OpenAI's LLMs (GPT-3 and GPT-4) and has been trained on massive amounts of code. It has expertise in over a dozen programming languages.
Blackbox AI
BlackboxAI is a really smart computer brain made for creating code. It's awesome at understanding regular language requests and turning them into working bits of code
Phind
Phind is an intelligent search engine and assistant that is powered by generative AI. It is designed to provide you with quick answers to your queries in seconds, instead of hours. This tool is connected to the internet and can also be connected to your codebase if needed, which ensures that it always maintains the right context.