---
title: "Code editor - CoderPad Interview Docs"
description: "Learn more about the Monaco-based code editor that you and your candidates will be working in for their interview."
canonical: "https://coderpad.io/resources/docs/interview/pads/code-editor/"
last_modified: "2025-09-10 10:44:49"
---
1. [Docs home](https://coderpad.io/resources/docs/) /
2. [Interview](https://coderpad.io/resources/docs/interview/) /
3. [Pads](https://coderpad.io/resources/docs/interview/pads/) /
4. [Code editor](https://coderpad.io/resources/docs/interview/pads/code-editor/)
[Documentation menu](#docs-navigation)

# Code editor

Last updated on September 10, 2025

The Interview platform provides a feature-rich [code editing environment](https://app.coderpad.io/sandbox) for your candidate to work in.

We support [over 60 programming languages](https://coderpad.io/languages/) and have different libraries and frameworks built in per language, and our core editor functionality is available for each programming language (unless otherwise specified).

We also provide enhanced support with better autocomplete and other editor functionality for the following languages:

- Ruby
- Python 3
- JavaScript
- Java
- C
- C++
- C Sharp
- Swift
- Kotlin
- TypeScript

Code editor features:

- [Autocomplete](#autocomplete)
- [Multi-cursor](#multi-cursor)
- [Duplicate lines](#duplicate-lines)
- [Code folding](#code-folding)
- [Error highlighting](#error-highlighting)
- [Right-click options](#right-click-options)
- [Command Palette](#command-palette)
- [Run code snippets](#run-code-snippets)
- [Frontend & backend multi-file layout](#frontend-backend-multi-file-layout)
  - [Prettify](#prettify)

>

![✅](https://coderpad.io/assets/emoji/2705.svg) To run or execute your code at anytime, simply click on the Run button in the top left corner or use the keyboard short cut: ⌘ + enter OR ⌘ + S for iOS or CTRL + enter OR CTRL + S for Windows.

## Autocomplete

To use autocomplete, just start typing and the editor will make suggestions:

Scroll through the suggestions using the up and down arrows to find the code you’re looking for. Then, hit`Tab`or`Enter`to accept the suggestion and have Interview fill in the code.

By default, autocomplete is triggered whenever`.`is pressed. You can also use`Ctrl + Space`to initiate the autocomplete at any point.

[![An example of autocomplete, the code snippet "myArray" is shown and the autocomplete dropdown menu has opened with the first item being "at".](https://coderpad.io/wp-content/uploads/2022/11/image-38.png)](https://coderpad.io/wp-content/uploads/2022/11/image-38.png)

### Auto-close brackets

Interview provides the ability to automatically close related symbols — like parenthesis, brackets, and quotation marks.

>

![✅](https://coderpad.io/assets/emoji/2705.svg) To help reduce potential bugs, this feature is enabled by default.

The full list of symbols that will auto-close are:

- `[]`– Brackets
- `{}`– Curly braces
- `()`– Parenthesis
- `""`– Double quotation marks
- `''`– Single quotation marks

## Multi-cursor

Multi-cursor functionality lets you edit multiple lines at once. This can be especially useful when you want to make the same change to multiple lines of code.

### Select cursor positions, lines, and sections

Multi-cursor has a number of different methods for line selection:

- `Alt+Click`selects or deselects one or more cursor positions, anywhere in the code.
- `Alt+Shift+Click`and drag selects multiple contiguous lines at a time.

This method of multi-line select stacks on top of other methods, since you only have to hold down the modifier key when actively clicking the mouse to select a new line.

Because of this, you can even scroll in the middle of selecting lines.

If you’ve selected adjacent lines, but later realize you missed a line you wanted to add, you can use this method to add to your list of selected lines.

`Alt + Ctrl + Up/Down`in Windows or`Option + Shift + Up/Down`in Mac allows you to select contiguous lines above and below your current selection.

## Duplicate lines

`Alt + Shift + Up/Down`duplicates the lines you are on.

## Code folding

Free-up space and improve readability by temporarily hiding code using code folding.

Hover over the space between the line numbers and the code. You will see dropdown arrows appear at the beginning of all major code blocks such as comments, imports, classes, methods, etc.

[![Dropdown arrows appear on lines 1, 5, and 8. The arrows are pointing down.](https://coderpad.io/wp-content/uploads/2022/08/image-34-1024x606.png)](https://coderpad.io/wp-content/uploads/2022/08/image-34.png)

Click on an arrow to close the code block; click on it again to open it back up.

[![Lines 1,5, and 8 has the code folded and the dropdown arrows are now pointing to the right.](https://coderpad.io/wp-content/uploads/2022/08/image-35.png)](https://coderpad.io/wp-content/uploads/2022/08/image-35.png)

## Error highlighting

Similar to other IDEs, Interview highlights errors as you make them by underlining them in red. Yellow lines signal warnings.

Hover over the red lines to see more information about the error.

[![There is a method that only accepts one argument. In the method instantiation there are two methods added, and the second one is underlined with a red error line.](https://coderpad.io/wp-content/uploads/2022/03/img_621e6d802224f.png)](https://coderpad.io/wp-content/uploads/2022/03/img_621e6d802224f.png)

## Right-click options

`Right-click`opens a dialog box with common tools, code navigation options, and access to the Command Palette.

If you are using one of the enhanced support languages, you see a list of options related to navigating around the code if the cursor is on a class, object, method, or function:

[![The right click menu for a supported language is displayed and starts with "Go to definition" and ends with "command palette".](https://coderpad.io/wp-content/uploads/2022/08/image-36.png)](https://coderpad.io/wp-content/uploads/2022/08/image-36.png)

If you are using a non-enhanced support language, there are no navigation options:

[![The right click menu for a non-supported language is displayed and starts with "change all occurrences" and ends with "command palette".](https://coderpad.io/wp-content/uploads/2022/08/image-37.png)](https://coderpad.io/wp-content/uploads/2022/08/image-37.png)

## Command Palette

`Right-Click`and select Command Palette, or press`F1`on your keyboard.

The Command Palette provides access to many pad commands and their related keyboard shortcuts.

[![The command palette dropdown is shown with the "Add cursor above" menu item highlighted.](https://coderpad.io/wp-content/uploads/2022/08/image-38.png)](https://coderpad.io/wp-content/uploads/2022/08/image-38.png)

## Run code snippets

There may be instances where you don’t want to run all the code in the editor, but rather just a single function or method.

You can do this by highlighting the code you want to run, and then either clicking the Run button at the top of the editor or using the ⌘ + enter OR ⌘ + S (Mac) / CTRL + enter OR CTRL + S (Windows) shortcuts:

## Frontend & backend multi-file layout

Interview provides an interface specifically for frontend and backend coding. You can find more information on using the this interface on [the languages page here](https://coderpad.io/resources/docs/interview/pads/using-pad-features/#multi-file-frameworks).

For more information on creating multi-file frontend questions, [check out this guide](https://coderpad.io/resources/docs/interview/question-bank/creating-and-editing-a-question/#creating-multi-file-questions).

### Prettify

You can configure Prettier or similar tools to auto-format your code in CoderPad multi-file projects. To do this:

1. Use the language’s package manager to install the formatting library of your choice via the in-pad shell (Note: Install via apt-get is not currently supported).
2. Define a new rule in the`.cpad`file for`format`and specify the command to run your formatting library, like so:

```
"format": {
	"label": "Format",
	"command": "npx prettier src/ --write"
}Code language: JSON / JSON with Comments (json)
```
1. To format, click the run button dropdown and select Run Format.
[![A code editor window with JSON formatted code for running tasks. The code defines three tasks: "main", "test", and "format", with commands "npm run main", "npm run test", and "npx prettier src/ --write" respectively. A dropdown menu is open above the code with options: "Run Main", "Run Tests", and "Run Format".](https://coderpad.io/wp-content/uploads/2025/07/img_687a348763151.png)](https://coderpad.io/wp-content/uploads/2025/07/img_687a348763151.png)

For example, using a Javascript or Typescript environment, you can use`npm install prettier`, then set up a`.prettierrc`command to define the formatting options

>

![⚠️](https://coderpad.io/assets/emoji/26a0.svg) This configuration may not be available for all languages as some require a root-level package install.

Close Docs Index
- [Screen](https://coderpad.io/resources/docs/screen/) Toggle children pages
  - [Quick start guides](https://coderpad.io/resources/docs/screen/recruiters-quickstart/) Toggle children pages
    - [Onboarding Checklist](https://coderpad.io/resources/docs/screen/recruiters-quickstart/screen-onboarding-checklist/)
    - [The CoderPad Screen Score Guide](https://coderpad.io/resources/docs/the-coderpad-screen-score-guide/)
    - [Video Guides](https://coderpad.io/resources/docs/screen/recruiters-quickstart/video-guides/)
  - [Tests](https://coderpad.io/resources/docs/screen/tests/) Toggle children pages
    - [Creating a test](https://coderpad.io/resources/docs/screen/tests/creating-a-test/)
    - [Customizing test content](https://coderpad.io/resources/docs/screen/tests/customizing-test-content/)
    - [Editing test settings](https://coderpad.io/resources/docs/screen/tests/editing-test-settings/)
    - [AI Tools for Screen](https://coderpad.io/resources/docs/screen/tests/ai-tools-for-screen/)
    - [Test management](https://coderpad.io/resources/docs/screen/tests/test-management/)
    - [Test retake requests](https://coderpad.io/resources/docs/screen/tests/test-retake-requests/)
    - [Cheating prevention and detection in Screen](https://coderpad.io/resources/docs/screen/tests/cheating-prevention-detection/) Toggle children pages
      - [Webcam proctoring](https://coderpad.io/resources/docs/screen/tests/cheating-prevention-detection/webcam-proctoring/)
    - [Test Insights](https://coderpad.io/resources/docs/test-insights/)
  - [Projects NEW](https://coderpad.io/resources/docs/screen/tests/projects/)
  - [Candidate management](https://coderpad.io/resources/docs/screen/candidate-management/) Toggle children pages
    - [Anonymizing candidates](https://coderpad.io/resources/docs/screen/candidate-management/anonymizing-candidates/)
    - [Import candidates from CSV file](https://coderpad.io/resources/docs/screen/candidate-management/import-candidates-from-csv-file/)
  - [Candidate reports](https://coderpad.io/resources/docs/screen/candidate-reports/) Toggle children pages
    - [Candidates dashboard](https://coderpad.io/resources/docs/screen/candidate-reports/candidate-dashboard/)
    - [Code playback](https://coderpad.io/resources/docs/screen/candidate-reports/code-playback/)
    - [Fixing an incorrectly marked question](https://coderpad.io/resources/docs/screen/candidate-reports/fixing-an-incorrectly-marked-question/)
    - [Error messages in candidate reports](https://coderpad.io/resources/docs/screen/candidate-reports/error-messages-in-candidate-reports/)
  - [Customizing questions](https://coderpad.io/resources/docs/screen/customizing-questions/) Toggle children pages
    - [Creating custom questions](https://coderpad.io/resources/docs/screen/customizing-questions/creating-custom-questions/) Toggle children pages
      - [Custom Project questions](https://coderpad.io/resources/docs/screen/customizing-questions/creating-custom-questions/custom-project-questions/)
    - [Importing questions](https://coderpad.io/resources/docs/screen/customizing-questions/importing-questions/)
    - [Customized domains and skills](https://coderpad.io/resources/docs/screen/customizing-questions/customized-domains-and-skills/)
    - [Sharing your custom questions](https://coderpad.io/resources/docs/screen/customizing-questions/sharing-your-custom-questions/)
  - [Integrations](https://coderpad.io/resources/docs/screen/integrations/) Toggle children pages
    - [Ashby for Screen](https://coderpad.io/resources/docs/screen/integrations/ashby-for-screen/)
    - [Greenhouse for Screen](https://coderpad.io/resources/docs/screen/integrations/greenhouse/)
    - [iCIMS](https://coderpad.io/resources/docs/screen/integrations/icims/)
    - [Jobvite](https://coderpad.io/resources/docs/screen/integrations/jobvite/)
    - [Lever](https://coderpad.io/resources/docs/screen/integrations/lever/)
    - [SmartRecruiters](https://coderpad.io/resources/docs/screen/integrations/smartrecruiters/)
    - [Taleez](https://coderpad.io/resources/docs/screen/integrations/taleez/)
    - [Taleo](https://coderpad.io/resources/docs/screen/integrations/taleo/)
    - [Teamtailor](https://coderpad.io/resources/docs/screen/integrations/teamtailor/)
    - [Workable](https://coderpad.io/resources/docs/screen/integrations/workable/)
    - [Workday](https://coderpad.io/resources/docs/screen/integrations/workday/)
  - [Account management](https://coderpad.io/resources/docs/screen/account-management/) Toggle children pages
    - [Editing your profile](https://coderpad.io/resources/docs/screen/account-management/editing-your-profile/)
    - [Managing users & teams](https://coderpad.io/resources/docs/screen/account-management/managing-users/)
    - [Billing](https://coderpad.io/resources/docs/interview/account-mgmt/billing-history/)
    - [Configure data protection](https://coderpad.io/resources/docs/screen/account-management/configure-data-protection/)
    - [Insights](https://coderpad.io/resources/docs/interview/account-mgmt/insights/)
    - [SSO](https://coderpad.io/resources/docs/screen/account-management/sso/) Toggle children pages
      - [Okta SSO legacy process](https://coderpad.io/resources/docs/screen/account-management/sso/okta-sso-legacy-process/)
    - [Cancel your subscription](https://coderpad.io/resources/docs/interview/account-mgmt/unsubscribing/)
  - [More](https://coderpad.io/resources/docs/screen/more-screen-resources/) Toggle children pages
    - [FAQ](https://coderpad.io/faqs/#screen-faq)
    - [Supported languages, frameworks, & technologies](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/) Toggle children pages
      - [Available domains](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/available-domains/)
      - [What compiler does my Screen project run on?](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/what-compiler-does-my-screen-project-run-on/)
      - [What compiler does my Screen test run on?](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/what-compiler-does-my-test-run-on/)
      - [Supported browser versions](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/browser-versions/)
    - [API key access](https://coderpad.io/resources/docs/screen/more-screen-resources/api-key-access/)
    - [Accessibility](https://coderpad.io/resources/docs/accessibility/)
    - [API documentation](https://coderpad.io/resources/docs/screen/more-screen-resources/api-documentation/)
    - [Troubleshooting Screen](https://coderpad.io/resources/docs/screen/more-screen-resources/troubleshoot/)
    - [Static code analysis](https://coderpad.io/resources/docs/screen/more-screen-resources/static-code-analysis/)
    - [Code editor](https://coderpad.io/resources/docs/screen/more-screen-resources/monaco-code-editor/)
    - [Report a question leak](https://coderpad.io/resources/docs/screen/more-screen-resources/report-a-question-leak/)
- [Interview](https://coderpad.io/resources/docs/interview/) Toggle children pages
  - [Quick start guides](https://coderpad.io/resources/docs/interview/quick-start-guides/) Toggle children pages
    - [Onboarding Checklist](https://coderpad.io/resources/docs/interview/quick-start-guides/interview-onboarding-checklist/)
    - [Interviewers](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/) Toggle children pages
      - [Live Interview quick start](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/live-interview-pads/)
      - [Take-home project quick start](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/take-home-projects/)
      - [Interview best practices](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/interview-best-practices/)
    - [Recruiters](https://coderpad.io/resources/docs/interview/quick-start-guides/recruiters/)
    - [Account administrators](https://coderpad.io/resources/docs/interview/quick-start-guides/account-admins/)
    - [Video Guides](https://coderpad.io/resources/docs/interview/quick-start-guides/coderpad-interview-quickstart-video-guides/)
    - [Engineer’s guide to multi-file frameworks](https://coderpad.io/resources/docs/interview/quick-start-guides/multi-file-frameworks-for-engineers/)
    - [Talent acquisition’s guide to multi-file frameworks](https://coderpad.io/resources/docs/interview/quick-start-guides/multi-file-frameworks-for-talent-acquisition-teams/)
  - [Pads](https://coderpad.io/resources/docs/interview/pads/) Toggle children pages
    - [Creating a pad](https://coderpad.io/resources/docs/interview/pads/creating-a-pad/)
    - [Using pad features](https://coderpad.io/resources/docs/interview/pads/using-pad-features/)
    - [Jupyter Notebooks](https://coderpad.io/resources/docs/interview/pads/jupyter-notebooks/)
    - [API client](https://coderpad.io/resources/docs/interview/pads/api-client/)
    - [AI Tools for Interview](https://coderpad.io/resources/docs/interview/pads/interview-ai-assist/)
    - [Code editor](https://coderpad.io/resources/docs/interview/pads/code-editor/)
    - [Video & audio chat](https://coderpad.io/resources/docs/interview/pads/video-and-audio-call/) Toggle children pages
      - [AI Notetaker](https://coderpad.io/resources/docs/interview/pads/live-interview-transcription/)
      - [Interview Highlights NEW](https://coderpad.io/resources/docs/interview-highlights/)
      - [Interview Outlines NEW](https://coderpad.io/resources/docs/interview/pads/video-and-audio-call/interview-outlines/)
    - [Private Interviewer Notes](https://coderpad.io/resources/docs/interview/pads/private-interviewer-notes/)
    - [Settings](https://coderpad.io/resources/docs/interview/pads/settings/)
    - [Keyboard shortcuts](https://coderpad.io/resources/docs/interview/pads/keyboard-shortcuts/)
    - [Playback & Pad Summary](https://coderpad.io/resources/docs/interview/pads/playback-mode/)
    - [Duplicate pads](https://coderpad.io/resources/docs/interview/pads/duplicate-pads/)
    - [Pad bulk actions](https://coderpad.io/resources/docs/interview/pads/pad-bulk-actions/)
  - [Drawing mode](https://coderpad.io/resources/docs/interview/drawing-mode/)
  - [Interview question bank](https://coderpad.io/resources/docs/interview/question-bank/) Toggle children pages
    - [Creating and editing questions](https://coderpad.io/resources/docs/interview/question-bank/creating-and-editing-a-question/)
    - [Example questions](https://coderpad.io/resources/docs/interview/question-bank/example-questions/)
    - [Test cases](https://coderpad.io/resources/docs/interview/question-bank/test-cases/)
  - [Focus Time](https://coderpad.io/resources/docs/interview/focus-time/)
  - [Databases](https://coderpad.io/resources/docs/interview/databases/)
  - [Custom files](https://coderpad.io/resources/docs/interview/custom-files/)
  - [Integrations](https://coderpad.io/resources/docs/interview/integrations/) Toggle children pages
    - [Ashby for Interview](https://coderpad.io/resources/docs/interview/integrations/ashby/)
    - [GoodTime](https://coderpad.io/resources/docs/interview/integrations/goodtime/)
    - [Google Chrome Calendar extension](https://coderpad.io/resources/docs/interview/integrations/google-chrome-calendar-extension/)
    - [Greenhouse for Interview](https://coderpad.io/resources/docs/interview/integrations/greenhouse/) Toggle children pages
      - [Greenhouse live interview integration](https://coderpad.io/resources/docs/interview/integrations/greenhouse/live-interview-integration/)
      - [Greenhouse take-home projects integration](https://coderpad.io/resources/docs/interview/integrations/greenhouse/take-home-integration/)
    - [iCIMS](https://coderpad.io/resources/docs/interview/integrations/icims/)
    - [Lever](https://coderpad.io/resources/docs/interview/integrations/lever/)
    - [Gem](https://support.gem.com/hc/en-us/articles/26933157317399-How-do-I-connect-my-CoderPad-account)
    - [SmartRecruiters](https://coderpad.io/resources/docs/interview/integrations/smartrecruiters/)
    - [ModernLoop](https://modernloop.notion.site/coderpad)
    - [Workday](https://coderpad.io/resources/docs/screen/integrations/workday/)
  - [Account management](https://coderpad.io/resources/docs/interview/account-mgmt/) Toggle children pages
    - [Team management](https://coderpad.io/resources/docs/interview/account-mgmt/team-management/)
    - [Managing users](https://coderpad.io/resources/docs/interview/account-mgmt/managing-users/)
    - [SSO](https://coderpad.io/resources/docs/screen/account-management/sso/)
    - [Insights](https://coderpad.io/resources/docs/interview/account-mgmt/insights/)
    - [Billing](https://coderpad.io/resources/docs/interview/account-mgmt/billing-history/)
    - [Canceling your subscription](https://coderpad.io/resources/docs/interview/account-mgmt/unsubscribing/)
  - [More](https://coderpad.io/resources/docs/interview/more-interview-resources/) Toggle children pages
    - [Cheating prevention and detection in Interview](https://coderpad.io/resources/docs/cheating-prevention-in-interview/)
    - [FAQ](https://coderpad.io/faqs/#live-faq)
    - [Accessibility](https://coderpad.io/resources/docs/accessibility/)
    - [Supported technologies & languages](https://coderpad.io/resources/docs/interview/more-interview-resources/supported-technologies-languages/) Toggle children pages
      - [Languages & frameworks](https://coderpad.io/languages/)
      - [Unit testing](https://coderpad.io/resources/docs/unit-testing/) Toggle children pages
        - [Using Jest with React](https://coderpad.io/resources/docs/unit-testing/using-jest-with-react/)
      - [Supported browser versions](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/browser-versions/)
    - [API key access](https://coderpad.io/resources/docs/interview/more-interview-resources/api-key/)
    - [API documentation](https://coderpad.io/resources/docs/interview/more-interview-resources/api-documentation/)
    - [Troubleshooting](https://coderpad.io/resources/docs/interview/more-interview-resources/troubleshooting/)
    - [Server statuses](https://status.coderpad.io/?_gl=1*ta4d92*_ga*MTkzMTE2ODYyMC4xNjU4MjQ5Mzcw*_ga_XBQ5N5CE2N*MTY2NzQxOTY5OS4yNjIuMS4xNjY3NDIxNDQ0LjAuMC4w&_ga=2.62808234.704669655.1667307151-1931168620.1658249370)
    - [Data management and privacy policy](https://coderpad.io/privacy/)
- [AI Fluency](https://coderpad.io/resources/docs/ai-fluency/)
- [AI Packages](https://coderpad.io/resources/docs/ai-packages/) Toggle children pages
  - [AI Assist changes for Starter and Team](https://coderpad.io/resources/docs/ai-assist-changes-starter-team/)
  - [AI Assist changes for Enterprise](https://coderpad.io/resources/docs/ai-assist-changes-enterprise/)
- [For candidates](https://coderpad.io/resources/docs/for-candidates/) Toggle children pages
  - [Screen preparation guide](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/) Toggle children pages
    - [Webcam and microphone access](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/webcam-access/)
    - [Projects exercises](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/projects-exercises/)
  - [Interview preparation guide](https://coderpad.io/resources/docs/for-candidates/interview-preparation-guide/) Toggle children pages
    - [Try the sandbox](https://coderpad.io/resources/docs/for-candidates/interview-preparation-guide/sandbox/)
  - [FAQ](https://coderpad.io/faqs/#faq-do-candidates-have-to-register-an-account-or-pay-to-use-interview)
- [What’s new?](https://coderpad.io/resources/docs/changelog/)
