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:
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
- Explain code
- Document code
- Generate unit tests
- Translate code from one language to another
- Get answers from IBM documentation
- Modernize or upgrade Enterprise Java applications
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.
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.
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.
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.
Or, enter a comment that describes the code you want.
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.