MIPS assembly language plugin for JetBrains IDEs (PyCharm, WebStorm, etc.). The plugin uses MARS to assemble and simulate MIPS assembly files.
Note: This is a fork of equadon/intellij-mips to keep this plugin working on modern IntelliJ IDE/JetBrains IDEs.
- Niklas Persson - Original author (equadon/intellij-mips)
- Gabriel Scarcella (@gascarcella) - Current maintainer
This project has been migrated to use Gradle. The lexer and parser are automatically generated from Mips.flex and Mips.bnf files during compilation using Grammar-Kit and JFlex.
To create a distributable plugin ZIP file:
./gradlew buildPluginThe plugin ZIP will be created in build/distributions/.
To test the plugin in a sandboxed IDE instance:
./gradlew runIdeThis will launch an IntelliJ IDE with the plugin installed.
After building the plugin, you can install it in any JetBrains IDE:
- Open your JetBrains IDE (IntelliJ IDEA, PyCharm, WebStorm, etc.)
- Press
Ctrl+Alt+S(Windows/Linux) orCmd+,(macOS) to open Settings - Navigate to Plugins
- Click the gear icon ⚙️ and select Install Plugin from Disk...
- Select the plugin ZIP file from
build/distributions/MIPS-0.1.zip - Click OK and restart the IDE when prompted
Note: Plugins installed from disk do not receive automatic updates and must be updated manually.
- Syntax highlighting
- Simulate MIPS programs
- Debugger
- Breakpoints
- Registers tool window
- Structure view
- Goto symbol
- Code formatting
- Folding (only multi-line comments currently)
- Live and file templates
- Commenter
- Code completion
We welcome contributions to the MIPS Assembly Language Plugin! Here's how you can help:
If you encounter a bug or have a feature request:
- Check the Issues page to see if it's already reported
- If not, create a new issue with:
- A clear, descriptive title
- Detailed description of the problem or feature
- Steps to reproduce (for bugs)
- Your environment (IDE version, plugin version, OS)
- Fork the repository to your GitHub account
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/intellij-mips.git cd intellij-mips - Create a feature branch for your changes:
git checkout -b feat/your-feature-name
- Make your changes and test them using
./gradlew runIde - Commit your changes with clear, descriptive commit messages
- Push to your fork:
git push origin feat/your-feature-name
- Open a Pull Request from your fork to the main repository
Please ensure your code follows the existing style and includes appropriate tests where applicable.
- Lexer and parser not implemented 100% to specification (but are functional and implemented using JFlex and Grammar-Kit)