AWS Machine Learning Blog
Enterprise administrative controls, simple sign-up, and expanded programming language support for Amazon CodeWhisperer
Amazon CodeWhisperer is a machine learning (ML)-powered service that helps improve developer productivity by generating code recommendations based on developers’ prior code and comments. Today, we are excited to announce that AWS administrators can now enable CodeWhisperer for their organization with single sign-in (SSO) authentication. Administrators can easily integrate CodeWhisperer with their existing workforce identity solutions, provide access to users and groups, and configure organization-wide settings. Additionally, individual users who don’t have AWS accounts can now use CodeWhisperer using their personal email with AWS Builder ID. The sign-up process takes only a few minutes and enables developers to start using CodeWhisperer immediately without any waitlist. We’re also expanding programming language support for CodeWhisperer. In addition to Python, Java, and JavaScript, developers can now use CodeWhisperer to accelerate development of their C# and TypeScript projects.
In this post, we discuss enterprise administrative controls, the new AWS Builder ID sign-up for CodeWhisperer, and support for new programming languages.
Enable CodeWhisperer for your organization
CodeWhisperer is now available on the AWS Management Console. Any user with an AWS administrator role can enable CodeWhisperer, add and remove users, and centrally manage settings for your organization via the console.
As a prerequisite, your AWS administrators have to set up SSO via AWS IAM Identity Center (successor to AWS Single Sign-On), if not already enabled for your organization. IAM Identity Center enables you to use your organization’s SSO to access AWS services by integrating your existing workforce identity solution with AWS. After SSO authentication is set up, your administrators can enable CodeWhisperer and assign access to users and groups, as shown in the following screenshot.
In addition to managing users, AWS administrators can also configure settings for the reference tracker and data sharing. The CodeWhisperer reference tracker detects whether a code recommendation might be similar to particular CodeWhisperer training data and can provide those references to you. CodeWhisperer learns, in part, from open-source projects. Sometimes, a suggestion it’s giving you may be similar to a specific piece of training data. The reference tracker setting enables administrators to decide whether CodeWhisperer is allowed to offer suggestions in such cases. When allowed, CodeWhisperer will also provide references, so that you can learn more about where the training data comes from. AWS administrators can also opt out of data sharing for the purpose of CodeWhisperer service improvement on behalf of your organization (see AI services opt-out policies). Once configured by the administrator, the settings are applied across your organization.
Developers who were given access can start using CodeWhisperer in their preferred IDE by simply logging in using their SSO login credentials. CodeWhisperer is available as part of the AWS Toolkit extensions for major IDEs, including JetBrains, Visual Studio Code, and AWS Cloud9.
In your preferred IDE, choose the SSO login option and follow the prompts to get authenticated and start getting recommendations from CodeWhisperer, as shown in the following screenshots.
Sign up within minutes using a new personal profile
If you’re an individual developer who doesn’t have access to an AWS account, you can use AWS Builder ID, a new personal profile for AWS tools and services. AWS Builder ID enables you to sign up and activate CodeWhisperer in your preferred IDE. The sign-up process takes only a few minutes, and does not require an AWS account or a credit card. You can keep your AWS Builder ID as you move between jobs, schools, or other organizations.
After you create an AWS Builder ID, simply log in and enable CodeWhisperer for your IDE, as shown in the following screenshot. For more information, see AWS Builder ID docs.
Build apps faster with TypeScript and C# programming languages
Keeping up with multiple programming languages, frameworks, and software libraries is an arduous task even for the most experienced developers. Looking up correct programming syntax and searching code snippets from web to programming tasks takes a significant amount of time, especially if you consider the cost of distractions.
CodeWhisperer provides ready-to-use real-time recommendations in your IDE to help you finish your coding tasks faster. Today, we’re expanding our support to include TypeScript and C# programming languages, in addition to Python, Java, and JavaScript.
CodeWhisperer understands your intent and provides recommendations based on the most commonly used best practices for a programming language. The following example shows how CodeWhisperer can generate the entire function in TypeScript to render JSON to a table.
CodeWhisperer also makes it easy for developers to use AWS services by providing code recommendations for AWS application programming interfaces (APIs) across the most popular services, including Amazon Elastic Compute Cloud (Amazon EC2), AWS Lambda, and Amazon Simple Storage Service (Amazon S3). We also offer a reference tracker with our recommendations that provides valuable information about the similarity of the recommendation to particular CodeWhisperer training data. Furthermore, we have implemented techniques to detect and filter biased code that might be unfair. The following example shows how CodeWhisperer can generate an entire function based on prompts provided in C#.
Improve Developer Productivity
“CodeWhisperer is an AI programming partner that can produce code for large logical chunks. The code presented is fascinating to review, as it is often an approach I would not have considered. I used CodeWhisperer in Python – a language I am a novice in. In minutes, I had a program that could connect to my AWS account, list S3 buckets with a slew of info about it, like name, creation date, region. I believe this tool will make developers more productive and rekindle their joy for programming in a new world.”
— Sam Gentsch, Principal Data Engineer, Georgia Pacific (Koch Industries)
Get started with CodeWhisperer
During the preview period, CodeWhisperer is available to all developers across the world for free. To access the service in preview, you can enable it for your organization using the console, or you can use the AWS Builder ID to get started as an individual developer. For more information about the service, visit Amazon CodeWhisperer.
About the Authors
Bharadwaj Tanikella is a Senior Product Manager for Amazon CodeWhisperer. He has a background in Machine Learning, both as a developer and a Product Manager. In his spare time he loves to bike, read non-fiction and learning new languages.
Ankur Desai is a Principal Product Manager within the AWS AI Services team.