IBM Cloud Docs
Overview of watsonx Code Assistant

Overview of watsonx Code Assistant

IBM watsonx Code Assistant is a portfolio of purpose-built, generative AI-assisted products that accelerate code and content generation and increase developer productivity, with trust, security, and compliance at its core. It provides models based on specific programming languages to provide trust and efficiency for accurate code and content generation.

IBM watsonx Code Assistant: Harness generative AI and advanced automation to create enterprise-ready code

watsonx Code Assistant

IBM watsonx Code Assistant is an innovative, generative AI coding companion that offers robust, contextually aware assistance for popular programming languages, including Go, C, C++, Java, JavaScript, Python, TypeScript, and more. Seamlessly integrated into your IDE, you can boost productivity and simplify coding tasks, all with trust, security, and compliance.

  • AI-powered coding tasks: Code generation, explanation, unit test, creation, AI-derived code documentation, and more.
  • Chat for code: Freeform AI conversational chat for planning applications and writing code.
  • Prebuilt chat commands: Use optimized prompts for specific tasks.
  • Integrated directly into IDEs: Available directly within Visual Studio Code and Eclipse, integrating seamlessly with your workflow.
  • Enterprise Java modernization: Generative AI and automation-assisted modernization for Java enterprise applications (requires the Standard plan).

Overview video

Watch YouTuber Tech With Lucy demonstrate watsonx Code Assistant in the overview video How to build technical projects faster using AI.

IBM Cloud

To get started:

  1. Set up your watsonx Code Assistant service in IBM Cloud
  2. Install the IDE extension or plug-in
IBM Cloud plans
IBM Cloud plan Description
Trial plan Limited no-cost trial with integrated generative AI chat for code
Essentials plan Integrated generative AI for code suggestions, code explanations, code documentation, and unit tests
Standard plan All the features of the Essentials plan, plus enterprise Java modernization capabilities, enhanced code explanation, and enhanced unit test generation

For complete plan details, see:

On-premises

You can also use IBM Software Hub to install watsonx Code Assistant as an on-premises service at your organization. For more information, see the IBM Software Hub documentation.

IBM watsonx Code Assistant features

watsonx Code Assistant

You can use watsonx Code Assistant to:

Get code suggestions

Use chat conversations: Use natural language prompts to generate code suggestions. Use a chat conversation to enter a prompt that explains the code you need, and watsonx Code Assistant generates something you can choose to use.

Use chat conversations
Use chat conversations

Reference code: To ask questions or refine a specific file, class, function, or method in your workspace, you can use a code reference. These references provide important context and can help to increase the accuracy of the answer. As part of your chat message, type the @ symbol to see a list of files, classes, and methods from your workspace. Click to select the reference, and watsonx Code Assistant sends the contents of the reference as part of your message.

Reference code
Demonstration of typing the @ symbol in a question to reference code in your workspace

Code completion: Or, complete code in the editor. Start typing a line of code, then pause. IBM watsonx Code Assistant adds a code suggestion to complete the line that you typed.

Code completion
Demonstration of watsonx Code Assistant using AI to complete code you start to type

You can also get a multiline code suggestion. Start typing a line of code, then use a keyboard shortcut, and watsonx Code Assistant adds a multiline code suggestion.

Multiline code completion
Demonstration of watsonx Code Assistant using AI to add a multiline code suggestion

Or, enter a comment that describes the code you want.

Comment-to-code generation
Demonstration of entering a comment to generate code in the editor

For more information, see the documentation for Getting code suggestions.

Explain code

Use generative AI to analyze and summarize your code to understand what the code does. Click the Explain option that precedes a code block or enter /explain in a chat conversation. IBM watsonx Code Assistant analyzes the code and provides a detailed explanation of what the code does.

For more information, see Explaining code.

Document code

Generate comment lines that document what your code does. Click the Document option that precedes a code block or enter /document in a chat conversation. IBM watsonx Code Assistant analyzes the code and adds comments that document what the code does.

For more information, see Documenting code.

Generate unit tests

Create unit tests to evaluate your code functions. Click the Unit Test option that precedes a code block or enter /unit-test in a chat conversation. IBM watsonx Code Assistant analyzes the code and creates a unit test.

For more information, see Generating unit tests.

Translate code from one language to another

Use watsonx Code Assistant to translate code. In a chat conversation, use the syntax translate [from <source language >] to <target_language> <code reference>

For more information, see Translating code from one language to another.

Get answers from IBM documentation

Use chat to ask questions that reference IBM and Red Hat product documentation.

The chat syntax is: /docs [collection:<collection_name>] <your question>

The collection_name is optional. If no collection is specified, ibm_docs is used.

For more information, see Getting answers from IBM documentation

Modernize or upgrade Enterprise Java applications

Standard plan

For use with the Standard plan, IBM watsonx Code Assistant for Enterprise Java Applications adds features for Java application upgrades and modernization, and enhanced code explanation, unit test generation, and fixing Java unit tests.

Java runtime modernization

Analyze your Java application runtime and modernize it to a more lightweight, flexible, and efficient runtime. Receive a prescriptive plan that describes the changes that are needed to modernize your application, with a detailed assessment of complexity and required development effort. Use automation to quickly implement code and configuration changes. Transform code with generative Al assistance to resolve more complex issues.

For more information, see the documentation for Modernizing Java applications.

Java version upgrade

Identify changes required to upgrade Java code, automatically apply fixes, and use generative AI to transform Java code. Receive a prescriptive plan that describes the changes that are needed to upgrade your application, with a detailed assessment of complexity and required development effort. Use automation to quickly implement code and configuration changes. Transform code with generative Al assistance to resolve more complex issues.

For more information, see the documentation for Upgrading the Java version for your application.

Explain Java applications

With the Standard plan, you can generate an explanation of your Java application. For more information, see the documentation for Explaining Java applications.

Generate and fix Java unit tests

Use generative AI to create tests that help maintain critical application functions. With the Standard plan, create enhanced unit tests to evaluate your code functions. You can also use generative AI to fix Java unit tests.

For more information, see the documentation for Generating unit tests and Fixing unit tests.