GithubHelp home page GithubHelp logo

jozott00 / wokwi-intellij Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 21.04 MB

An Intellij plugin that integrates the Wokwi simulator into Jetbrains IDEs such as CLion and RustRover.

Home Page: https://jozott00.github.io/wokwi-intellij/

License: MIT License

Kotlin 97.86% HTML 2.14%
clion intellij intellij-plugin jetbrains rustrover simulation wokwi

wokwi-intellij's Introduction

JetBrains Plugin Version Contributors MIT License Issues Forks Stargazers


Wokwi Intellij Icon

Wokwi Intellij Plugin

Integrate Wokwi in Intellij-based Jetbrains IDEs.
Explore the docs »

Install in IDE · Report Bug · Request Feature

About The Plugin

Wokwi Debug Showcase

The Wokwi Intellij plugin integrates the Wokwi simulator with Jetbrains IDEs like CLion and RustRover. It adopts the configuration approach of the Wokwi VS code extension for seamless IDE transitions and supports the same platforms.

This plugin is a community plugin and not maintained by the Wokwi team.

Detailed information on using the plugin can be found in the documentation.

Features

  • Run simulation in IDE window
  • Automatically restart the simulation on rebuild
  • Intelligent configuration checking
  • Intellij idiomatic debugging (CLion only)

Documentation

Please visit the Wokwi Intellij documentation.

Installation

To follow the installation instructions, users typically navigate to the installation section.

For building and installing the plugin from source:

  1. Clone or download the repository.
  2. Execute ./gradlew buildPlugin.
    This action saves the plugin build as build/distributions/wokwi-intellij-x.x.x.zip.
  3. Follow steps to install the plugin from disk.

Roadmap

  • Make Console writable
  • Add Serial Port forwarding
  • Add IoT gateway
  • Support custom chips
  • Add diagram.json editor

See the open issues for a full list of proposed features (and known issues).

Contributing

To make this plugin even better, contributions are very welcome!

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag enhancement.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

wokwi-intellij's People

Contributors

actions-user avatar dependabot[bot] avatar jozott00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

wokwi-intellij's Issues

[BUG] VCD File not appearing after using the logic analyzer

Describe the bug
If you use the logic analyzer, there is no vcd file after you stop the simulation

To Reproduce
Steps to reproduce the behavior:

  1. Use a wokwi diagram containing a logic analyzer
  2. Record some samples
  3. Stop the simulation
  4. Nothing

Expected behavior
A .vcd file in the projet directory ?

[ROADMAP] IoT Gateway

The VS Code extension includes a bundled version of the Wokwi Private IoT Gateway, which allows to connect the virtual WiFi of the simulated ESP32 to your local network and the Internet.

IoT Gateway - Wokwi Docs

[BUG]

I want to start the simulation of the platformIO arduino Uno example project of wokwi. But it doesnt start the simulation. With the example project of the esp32 project it works. It only says "Loading Project..."
image

Console is also clear
image

Thanks for help!

Build steps for Rust Rover

Very nice piece of work @Jozott00 .

I was testing the build and deployment to Rust Rover and here are my findings.

It's necessary to add section like this into README.md in order to build the plugin

<!-- Plugin description -->
Wokwi plugin
<!-- Plugin description end -->

Build: ./gradlew buildPlugin

The output artifact is in build/distributions/wokwi-intellij-0.0.1.zip and it's necessary to install it manually to Rust Rover.

Using ./gradlew runIde opens IntelliJ Idea and I was not able to find a way how to tweak it to open the Rust Rover IDE.

[ROADMAP] diagram.json Editor

An editor to modify the circuit diagram in the diagram.json file. It will use the same web editor as the Wokwi-VSCode extension uses.

[BUG] JCEF browser is not supported

Describe the bug
Trying to Start the Simulator in RustRover 2024.2 EAP via WSL2

To Reproduce

  1. Create a project in RR 2024.2 EAP in WSL2
  2. Configure Wokwi with minimal setup
  3. Click Start Simulator

Expected behavior
The simulator runs

Screenshots
image

Additional context
I'm trying to run a simple ESP-IDF project via RustRover, have it working and flashing to the device fine, but I came across Wokwi, and thought I'd give it a try, however when I click Start Simulator I get the above error.

The JVM that RustRover starts on WSL2 is this version:

$ /tmp/pid.2721558.temp.jbr/bin/java.bin -version
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment JBR-17.0.11+1-1207.24-jcef (build 17.0.11+1-b1207.24)
OpenJDK 64-Bit Server VM JBR-17.0.11+1-1207.24-jcef (build 17.0.11+1-b1207.24, mixed mode)

which appears to mention jcef, so would expect it to contain it.

[ROADMAP] Custom Chips

You can load custom chips to the simulation by adding a [[chip]] sections to your wokwi.toml configuration. The following example will load a chip from chip/inverter.chip.wasm and make it available under the name chip-inverter in Wokwi's diagram:

[[chip]]
name = 'inverter'  # To use the chip in diagram.json, add a part with "chip-inverter" type.
binary = 'chips/inverter.chip.wasm'

Custom chips - Wokwi docs

[FEATURE-REQUEST] Curious on Rust Rover compatibility

Is your feature request related to a problem? Please describe.

I found out about the Wokwi plugin today, visited this site and it says:

image

I presume this means that once the plugin supports IntelliJ 2024.2 platform, things will change (for a while)? What are the plans for the future, and Rust Rover in particular?

Describe the solution you'd like

Just wanting to understand the roadmap. Not asking for anything.

Describe alternatives you've considered

Using Wokwi separately (I do have an account).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.