Edit

Share via


GitHub Copilot App Modernization for Java FAQ

Answers frequently asked questions about GitHub Copilot App Modernization for Java.

What's the product scope of the GitHub Copilot App Modernization for Java?

We recognize that the migration process is always complex and intertwined, with different layers of app ecosystems. At this time, we're limiting the migration scope to Java backend apps.

Can I use App Modernization for Java to upgrade my Java version?

There's a separate GitHub Copilot App Modernization - upgrade for Java tool, and you can use it together with App Modernization for Java.

Are there any settings in GitHub Copilot that I should configure to make sure I get all the features?

GitHub Copilot normally blocks certain code generations for files that commonly resemble public code, such as pom.xml. To prevent Copilot from blocking these changes, you must allow suggestions matching public code. For instructions, see Enabling or disabling suggestions matching public code.

To manage the settings of Github Copilot in your organization, see Enabling Copilot features in your organization.

What network configurations are required to use GitHub Copilot App Modernization for Java in Visual Studio Code?

To ensure that the extension works correctly within Visual Studio Code, network connectivity must be stable and allow access to GitHub Copilot services. In restricted environments, you might need to configure proxy or firewall rules accordingly. If you encounter errors like "Language Model Unavailable" in the chat window, see the official troubleshooting guide Managing GitHub Copilot access to your enterprise's network.

Will App Modernization for Java be open sourced in the future?

We currently have no plans to open source App Modernization for Java.

What GitHub Copilot license plan do I need to use App Modernization for Java?

App Modernization for Java is available to Pro, Pro+, Business, or Enterprise plan.

In addition to Java, I also need to migrate apps written in other languages. Is there a plan for App Modernization to go beyond Java or consolidate with the .NET experience?

Currently, App Modernization for Java is focused on assisting with Java applications. However, we're actively collecting requirements and feedback from customers regarding the need to support other languages and potentially consolidate with the .NET experience.

What are the token size limits of the top models?

For detailed model specifications, see the GitHub Copilot documentation.

Why don't I see tools in App Modernization for Java that use the Model Context Protocol (MCP) server?

App Modernization for Java uses the MCP server to provide specialized migration functionalities. When you select Refresh, it establishes a connection with this server and updates the available tools in the chat agent. This action is only necessary in the following cases:

  • When you open a Java project for migration for the first time.
  • When you upgrade the extension to a newer version.

Why does App Modernization for Java stop after listing a plan without making any code changes?

Sometimes, App Modernization for Java requires explicit confirmation before proceeding. You can type yes or continue in the chat to enable the agent to move forward with the code modifications.

Why does App Modernization for Java frequently prompt me to select **Continue**?

To ensure safer operations, the GitHub Copilot agent repeatedly asks for user confirmation. As a workaround, you can select the dropdown arrow next to the Continue button and then select Always allow, or update your Visual Studio Code setting chat.tools.autoApprove to true to automatically approve all tools.

How can I view more details about the code changes made by the agent?

The agent always includes explanations for its code changes in the chat window. However, these details might be collapsed in the UI. You can expand the response in the chat to see the full rationale and step-by-step reasoning.

Why is the code regeneration process unstable?

App Modernization for Java is powered by AI, so occasional errors might occur. Always review the output carefully before use. You can also retry the regeneration process to see alternative code suggestions.

Where are tasks stored on the local machine and how can they be shared?

Predefined tasks are in the following location: %USERPROFILE%.vscode\extensions\microsoft.migrate-java-to-azure-0.1.0\rag

Custom tasks are in the following location: %USERPROFILE%.azure\migrate-copilot\custom-rule

Does the tool store my source code?

No. The tool uses GitHub Copilot in the same way you use it to modify code, which doesn't retain code snippets beyond the immediate session. We don't collect, transmit, or store your custom tasks either.

Telemetry metrics are collected and analyzed to track feature usage and effectiveness.

For more information, see the Microsoft Privacy Statement.

How does App Modernization for Java extension use the MCP server, and how can I check for updates or troubleshoot issues?

App Modernization for Java uses the MCP server to enhance code transformation capabilities. After installing the Visual Studio Code extension, the MCP server is registered and starts automatically.

If you notice a special refresh button in the bottom-right corner of the GitHub Copilot Chat panel, it might indicate that tool updates are available. Select the button to automatically load the latest versions of the tools.

The App Modernization for Java MCP server also maintains logs. To troubleshoot, check the log files located at: %USERPROFILE%/.ghcp-appmod-java/logs