/intellij-micropython

Plugin for MicroPython devices in PyCharm and IntelliJ

Primary LanguagePythonApache License 2.0Apache-2.0

MicroPython Plugin for PyCharm and IntelliJ

JetBrains team project JetBrains IntelliJ Plugins JetBrains IntelliJ plugins JetBrains IntelliJ Plugins Join the chat at https://gitter.im/intellij-micropython/community

The Python code development plugin for MicroPython devices in PyCharm and IntelliJ.

Supported devices

The plugin supports Python development for these devices:

It will support more MicroPython devices and more device-specific and MicroPython-specific modules eventually. We are interested in your contributions to the project. Feel free to open issues and send pull requests!

See also the changelog for the plugin.

Features

Code insight for MicroPython modules

  • Context-aware code completion and documentation

    • Use Ctrl+Q (F1 on macOS) for quick documentation window, you can dock it permanently

      Code completion

  • Syntax checking and type checking

    • The plugin checks your code while you're typing it

      Type checking

Run code on MicroPython devices

  • Flash Python files or project directories to devices

    • Right-click on a file or directory and select "Run 'Flash '" to flash this item to your connected device. If you want to flash a sub-directory to the root directory of your device, please mark this sub-directory as a sources root: right-click on it and select "Mark Directory as | Sources Root". Its icon will become blue, see the screenshot.

      Flash directory

    • You can edit your run configurations for flashing files or directories in "Run | Edit Configurations..." menu.

      Run

  • MicroPython REPL

    • Use "Tools | MicroPython | MicroPython REPL" menu to run a MicroPython shell on your device

      REPL

Requirements

  • PyCharm 2020.3+ or IntelliJ 2020.3+
  • Python 3.5+
    • The MicroPython language version is 3.5. If you select a newer version, turn on "File | Settings | Editor | Inspections | Python | Code compatibility inspection" and add Python 3.5 to the compatibility list there
  • Python plugin (IntelliJ only)
  • Supported MicroPython development board with a recent version of MicroPython firmware flashed to the board

Installation

  1. Install the "MicroPython" plugin from your IDE settings.

  2. Create a new project or open an existing folder with your MicroPython code.

  3. This step differs for PyCharm and IntelliJ:

    • PyCharm: Enable MicroPython support in "File | Settings | Languages & Frameworks | MicroPython" and specify the path to your MicroPython device
    • IntelliJ: Add the MicroPython facet to a Python module in your project structure and specify the path to your MicroPython device

    Configurable

  4. Open any Python file in project. You may see a yellow bar on top of the file, notifying you that you don't have some packages required for communicating with your device. In this case click "Install requirements" and wait while the plugin downloads and installs the packages.

Source Code

We write this plugin in Python and Kotlin. Kotlin a new JVM language by JetBrains, the makers of PyCharm and IntelliJ. Google recommends Kotlin as the best language for developing Android apps. If you are a Python developer, Kotlin may be an interesting language for you to learn.

The steps for setting up the development environment:

  1. Check out this project from GitHub
  2. Create a new project from existing sources in IntelliJ 2020.3 or newer

To just run the development version use ./gradlew clean runIde from the command line.

Contributions are welcome!

License

The plugin is licensed under the terms of the Apache 2 license.