Hide
In this article
HackerRank uses Monaco Editor which is a web-based code editor developed by Microsoft that powers Visual Studio Code. We are currently on version 0.50.0. The Monaco Editor is a robust code editor that supports various programming languages and offers a rich environment for coding and testing, making it ideal for developers attempting a coding question on HackerRank. This is supported in Tests and Interviews.
Key Highlights
-
Multi-Language Support
- Supports 60+ programming languages.
-
IntelliSense
- Autocompletion and contextual suggestions for functions, variables, and keywords are available for 20+ languages.
- Real-time error and warning diagnostics.
- Provides clear, language-specific syntax coloring.
- Customizations Available:
-
Editor Mode (Normal, Emacs, Vim)
- Allows users to select their preferred editor style.
- Normal: Default editor behavior suited for general usage.
- Emacs: Mimics the Emacs editor, favored by users familiar with its shortcuts and commands.
- Vim: This mimics the Vim editor, offering modes like command and insert. It is ideal for developers accustomed to Vim’s powerful navigation and editing features.
- Allows users to select their preferred editor style.
-
Tab Spaces (2, 4, 8)
- Lets users adjust the number of spaces used for indentation.
- 2 spaces: Compact and minimal, used in some modern coding styles.
- 4 spaces: The standard for most programming languages, providing balanced readability.
- 8 spaces: Legacy or strict standards where wide spacing is required.
- Lets users adjust the number of spaces used for indentation.
-
Autocomplete (Enable/Disable)
- Toggles the auto-suggestion feature. Offers real-time suggestions for functions, variables, and syntax as you type, helping reduce typos and coding errors.
-
View Code Diff
- Compare the current code with the last saved or submitted version.
- Compare the current code with the last saved or submitted version.
You can also use the advanced Revert feature to track changes made during debugging or enhancement phases, as it highlights added, removed, or modified lines. You can choose to restore these versions
-
Keybindings Support
- Allows key mappings, similar to popular IDEs like Visual Studio Code.
- Collaborative Features in Interview
- Allows real-time collaboration with multiple users to edit the code simultaneously.
-
Run and Submit:
- Run Code: Allows testing the solution with a sample input to check basic correctness.
- Run Tests: Executes the code against multiple test cases to validate correctness comprehensively.
- Submit: Submit the final solution for evaluation.
Limitations
-
Debugging Support
- While the Editor provides IntelliSense, debugging capabilities are limited(none).
-
Advanced IDE Features
- It lacks features like advanced terminal access and extensive plugin ecosystems compared to our full-fledged multi-file IDEs, such as VS Code and Jupyterlab.
-
Browser Support
- The Editor is supported only on versions mentioned above For optimal performance, ensure that your browser meets or exceeds the following version requirements:
- Chrome: Version 94 or newer
- Firefox: Version 93 or newer
- Safari: Version 16.4 or newer
- Edge: Version 94 or newer