DEV Community

Cover image for How to translate code into other languages using GitHub Copilot
Michelle Mannering for GitHub

Posted on • Updated on

How to translate code into other languages using GitHub Copilot

Whether you're a seasoned coder, or just starting out, GitHub Copilot's new feature will have everyone in a buzz.

If you have access to GitHub Copilot, you can download an additional extension, GitHub Copilot Labs. This gives you access to some cool new features. One of these features allows you translate code into any language you choose. Let's show you how to do that.

Step 1. Install Copilot Labs

Make sure you have GitHub Copilot installed*. If you have access to Copilot, you'll also be able download and install GitHub Copilot Labs.

Step 2. Choose code to translate

Open your VS Code editor and open a file where you'd like to translate some code.

Also, make sure you have Copilot turned on. You find the Copilot icon in the bottom tray on the left hand side. Click it, and sure you select "Enable".

enable-copilot

I always click "Enable Globally" because then Copilot works for everything and not just the file I have open.

Step 3. GitHub Copilot Labs sidebar

The GitHub Copilot Labs sidebar has everything you need to explain and translate code. You'll find the toolbar on the left side of the screen. If you can't see it, click the ellipses and you'll find a list of any additional extensions you have installed.

toolbar

The GitHub Copilot Labs icon will only appear if you have installed GitHub Copilot Labs. Click the icon and it will toggle open a new pane. If you still have your code highlighted, your screen should look something like:

Copilot Pane

Step 4. Highlight Code

Now that you have the Copilot Labs sidebar open, highlight the chunk of code you'd like to translate.

fizzbuzz

Step 5. Translate Code

The GitHub Copilot Labs pane will show a section called "Language Translation". Under this section, your highlighted code will appear, along with a box saying "Translate code into:"

Translate Language

Here, you can choose the language you would like to translate your code into. There are lots of languages to choose from, including Python, Ruby, Java, CSS, PHP, C#, Go, Typescript, and many more.

Select one, and click "Ask Copilot". Your result will be immediately displayed:

Translate Code

Step 6. Feedback

GitHub Copilot and GitHub Copilot Labs are very new features. They are both in technical preview stage. After your code has been translated you'll be able to provide feedback on how well Copilot did.

feedback

You can read more about how GitHub Copilot works and the training set that powers this technology by heading to the Copilot website, and clicking "Learn more" in the top right.

Watch the tutorial

*GitHub Copilot is in technical preview, and thus not all users will be able to access this feature. If you'd like to sign up to the technical preview, please join the waitlist.

Oldest comments (3)

Collapse
 
catchase profile image
Catchase • Edited

I think that it is not a problem to translate the text into another language, especially now when there are so many options to do it. But this service translate.com/ is suitable for me, their advantage is high-quality work, and I often encountered wrong translation of the text on the online translator, it depressed me. Therefore, I recommend this option!

Collapse
 
montechan profile image
montechan

hmm...not sure if you got a chance to read the article, but in the context of this article, the languages being referred to are the computer languages. For example, translating CFML into PHP

Collapse
 
navmed profile image
Naveed Ahmed • Edited

I was excited to find this, but am sorely disappointed.

  1. The line limit is too low. I'd imagine that having more context would provide more accurate results.
  2. Even when it generates results, they are terrible. I tried to convert this python code to C#.

python:
class OrderState(StrEnum):
ApiPending = 'ApiPending'
PendingSubmit = 'PendingSubmit'
PendingCancel = 'PendingCancel'
PreSubmitted = 'PreSubmitted'
Submitted = 'Submitted'
ApiCancelled = 'ApiCancelled'
Cancelled = 'Cancelled'
Filled = 'Filled'
Inactive = 'Inactive'

C#
It gave me this, including the colon.
class OrderState(StrEnum):