Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IntelliJ plugin for Zircon #191

Open
coldwarrl opened this issue Feb 2, 2019 · 2 comments
Open

IntelliJ plugin for Zircon #191

coldwarrl opened this issue Feb 2, 2019 · 2 comments
Labels
blocked Tasks which are blocked feature New functionality for the program help wanted More complex issues for which we'd like to get community help

Comments

@coldwarrl
Copy link
Member

coldwarrl commented Feb 2, 2019

Integrate Zircon as an IntelliJ plugin

It would be nice to integrate Zircon (runtime) as an IntelliJ plugin. Use IntelliJ since it probably the most used IDE in context of Zircon, for instance since it has the best Kotlin support.

Rationale

Raise developer productivity

Suggested way of implementing

  • during game development you often have lengthy debug sessions, thus switching the context between the Zircon window (running game) and the IDE. Providing the capability to run the game as a IntelliJ view would help to raise developer productivity
  • the plugin view could provide a run/pause/stop functionality, similar to the editor of Unity3D. There is currently the Application interface in Zircon, which provides already the needed hook functions, although the semantics include not the game loop.
  • maybe it would make sense to integrate microline also ? (e.g. clicking on a saved microline file in the project view opens microline in an Intellij view and so forth).
@coldwarrl coldwarrl added feature New functionality for the program Story Points: 13 labels Feb 2, 2019
@klaushauschild1984
Copy link

I did some really rough research on that topic.
It turns out the InteliJ's UI framework is based on Swing. This is a big pro. The basic ingredient from IntelliJ's plugin framework will be ToolWindows (https://www.jetbrains.org/intellij/sdk/docs/user_interface_components/tool_windows.html) that can embed any JComponent.
To enable this all, Zircons API has to be opened to create just the Canvas used from the SwingCanvasRenderer that can be added a component to the ToolWindows content pane.

Another plus to this would be to enable others to embed a Zircon view in any Swing based application, like https://github.com/mabe02/lanterna allows.

@adam-arold
Copy link
Member

This is great. We already accept a Canvas as a parameter so this only needs to be added to the API. 👍

@adam-arold adam-arold added the help wanted More complex issues for which we'd like to get community help label Nov 19, 2020
@adam-arold adam-arold added the blocked Tasks which are blocked label Aug 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Tasks which are blocked feature New functionality for the program help wanted More complex issues for which we'd like to get community help
Projects
None yet
Development

No branches or pull requests

3 participants