migration toolkit for applications 8.0

Configuring and using the Visual Studio Code Extension for MTA

Using the migration toolkit for applications extension for Visual Studio Code to identify and resolve migration issues

Red Hat Customer Content Services

Abstract

You can use the migration toolkit for applications extension for Visual Studio Code to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. You can analyze your applications and identify and resolve issues to prepare these applications for a successful migration.

Chapter 1. Introduction to the MTA extension for Microsoft Visual Code

You can migrate and modernize applications by using the migration toolkit for applications (MTA) extension for Microsoft Visual Studio Code.

The MTA extension can perform the following actions:

  • Analyze your projects with customizable rulesets.
  • Mark issues in the source code.
  • Provide guidance to fix the issues.
  • Perform automatic code replacement, if possible.

The MTA extension is also compatible with Visual Studio Codespaces, the Microsoft cloud-hosted development environment.

Chapter 2. Installing the MTA extension for Visual Studio Code

You can use the migration toolkit for applications (MTA) Visual Studio (VS) Code plugin to perform a standard application analysis. You can also enable Red Hat Developer Lightspeed for the migration toolkit for applications to use Generative AI (GenAI) capabilities to fix code issues before migrating to target technologies. Note that Developer Lightspeed for MTA is enabled by default. For more information, see Configuring and using Developer Lightspeed for MTA.

Prerequisites

  • You installed the Java Development Kit (JDK). MTA supports the following JDKs:

    • Oracle JDK 17 or later
    • Eclipse Temurin™ JDK 17 or later
    • OpenJDK 17 or later
  • You have 8 GB of RAM available.
  • For macOS installation, you have the value of maxproc set to 2048 or greater.

Procedure

Chapter 3. Configuring the IDE settings

MTA settings apply to every analysis that you perform by using the Visual Studio (VS) Code extension. The extension settings have the following categories:

  • Analysis-related settings
  • Debugging and logging settings
  • Solution server settings
  • Generative AI settings

Procedure

  1. Open the MTA settings by clicking Extensions > MTA Extension for VSCode > Settings.

    Alternatively, open the setting by performing the following steps:

    1. Type Ctrl + Shift + P or Cmd + Shift + P on the search bar to open the Command Palette.
    2. Enter Preferences: Open Settings (UI).
    3. Open the settings page by clicing Extensions > MTA.
  2. Configure the following settings:

    • Log level: Set the log level for the MTA binary. The default log level is debug. The log level increases or decreases the verbosity of logs.
    • Analyzer path: Specify an MTA custom binary path. If you do not provide a path, Red Hat Developer Lightspeed for MTA uses the default path to the binary.
    • Debug:Webview: Enable debug level logging for Webview message handling in VS Code.

Chapter 4. Configuring the MTA profile settings

You can use the Visual Studio (VS) Code plugin to run an analysis to discover issues in the code.

To generate code changes by using the MTA extension, you must configure a profile that contains all the necessary configurations, such as rules and source and target technologies.

Prerequisites

Procedure

  1. Open the MTA View Analysis page by clicking the book icon on the MTA: Issues pane of the MTA extension.

    Alternatively, type Ctrl + Shift + P or Cmd + Shift + P in the search bar to open the Command Palette and enter MTA:Open Analysis View.

  2. Click the settings button on the MTA View Analysis page to configure a profile for your project. The Get Ready to Analyze pane has the following basic configurations required for an application analysis:

    • Select profile: Create a profile that you can reuse for one or more analyses.
    • Configure label selector: A label selector filters rules for analysis based on the source or target technology.

      Specify one or more target or source technologies. Red Hat Developer Lightspeed for MTA uses this configuration to determine the rules to apply to a project during the analysis. If you mentioned a new target or a source technology in your custom rule, you can type that name to create and add the new item to the list.

      Important

      You must configure target or source technologies before running an analysis.

    • Set rules: Enable default rules and select your custom rule that you want MTA to use for the analysis. You can use the custom rules in addition to the default rules.

Verification

  • After you completed the profile configuration, close the Get Ready to Analyze pane and run an application analysis.

Chapter 5. Running an application analysis

You can run a static code analysis of an application with or without enabling the Generative AI (GenAI) features. The RPC (Remote Procedure Call) server runs the analysis to detect all issues in the code for one or more target technologies which you want to migrate the application to.

Prerequisites

  • You opened a Java project in your VS Code workspace.
  • You configured an analysis profile on the MTA Analysis View page. For more information, see Configuring the MTA profile settings.

Procedure

  1. Click the Red Hat Developer Lightspeed for MTA extension and click Open MTA Analysis View.
  2. Select a profile for the analysis.
  3. Click Start to start the MTA RPC server.
  4. Click Run Analysis on the MTA Analysis View page.

Chapter 6. Reviewing and resolving migration issues

You can use the MTA extension icons to prioritize issues based on their severity.

Procedure

  1. Select a run configuration directory on the left pane.
  2. Expand its folders to view the Hints generated for each application file.
  3. Select a hint to view the source code.
  4. Right-click a hint and select View Details to view the Rule ID and other information.
  5. Prioritize issues based on the following icons, which are displayed next to each hint:

    • Mandatory : You must fix the issue for a successful migration.
    • Warning : You might need to address the issue during the migration.
  6. Resolve issues by editing the code of a file with a hint:

    1. In the left pane, right-click an issue and select Open Code.
    2. Make any changes needed to the code and save the file.
    3. Optional: Right-click the issue and select Mark as Complete or Delete.

Legal Notice

Copyright © 2026 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.