Intellij IDEA Plugin

Hi
I've been developing a plugin for Intellij IDEA to add support for Monkey C language and Connect IQ platform.

Features and screenshots can be seen on the plugin page: https://plugins.jetbrains.com/plugin/8253

It is of a preview quality and is lacking in deployment/publishing part - you still need your Eclipse around.
But if anyone wants to test it, then here is your chance.

If you want to import an existing project, use File>Open (or File>New>Project from Existing Sources...)
When it offers a list of empty Project SDKs, go ahead and Configure the SDK as well (as the plugin is error-prone on missing configurations).

Also good to know - if you have multi-module project, make sure you set project SDK to Connect IQ SDK (instead of java or anything else).

Example usage:



Happy exploring!
  • Maybe I shouldn't tell you this, but it's already easy to import CIQ project into an Eclipse workspace and is described in the Programmer's Guide in relations to the sample code...

    "File>Import"..... :) Are you looking to sell something here? :(
  • Nope, all is free, you can use the Community Edition of IDEA (which is free).

    However, if your question was, why is this plugin better than the offical Eclipse plugin, then it:
    1) Allows you to choose IDEA instead of Eclipse (if your prefer it that way)
    2) The plugin is more fully-featured for the language (i.e references), though most of this is work in progress.
  • But why? What do you have that isn't already there in Eclipse with the CIQ plugin?

    I don't see anything.... You still need eclipse for the heavy work!
  • From the features list on the plugin page, Eclipse plugin has about half of them.

    But even if the Eclipse plugin advances, the main idea is the choice of IDE.
  • Have you used the current CIQ SDK with the current CIQ plugin? I'm not sure where you got your info, but it may be outdated!

    Can you even fire off the sim or do app-settings for what's in the sim?

    I'm just trying to figure out why this wouldn't be a step backwards from Eclipe..
  • Have you used the current CIQ SDK with the current CIQ plugin? I'm not sure where you got your info, but it may be outdated!

    Can you even fire off the sim or do app-settings for what's in the sim?

    I'm just trying to figure out why this wouldn't be a step backwards from Eclipe..

    Features that Eclipse plugin has:

    • Syntax highlighting editor
    • Build integration
    • Integrated execution of applications in the Connect IQ simulator

    Things that Eclipse plugin is lacking and this plugin is trying to provide (but not yet stable nor complete, so don't assume it will work perfectly):
    • Syntax errors recognition
    • Navigating from reference to declaration, and finding usages
    • Searching by class or symbol


    To answer the other part of your questions, then yes, this plugin opens simulator when you are running the app.
    And it does support application settings as well (it's right there on the screenshots on the plugin page actually).

    If IDEA is alien to you, here's some useful keyboard shortcuts:
    Ctrl+Q for quick documentation while caret is on some elements.
    Ctrl+space for completion suggestions (completion still sucks, so not much use)
    Ctrl+P inside method call parameters, to see which parameters the method takes (doesn't work much with the SDK methods yet, only your own)
    Alt+F7 to find usages for the element under caret
    Ctrl+B (or Ctrl + left click) to go to declaration

    Also if you do some syntax error, like forgetting to add ; or } in the end, the error locator is usually showing the problem area somewhere else, I hope I can improve that.

    As of the userbase, thanks to the fact that some developers probably use Android Studio to enhance their watch-app, they should be comfortable in using IDEA (which Android Studio is based on).
  • Latest version now also supports importing the eclipse projects, i.e to import a project just use File>Open


    Did a screen cast on navigation:




    For some reason can't edit first post, so can't update info there; update 2: now I can
  • Good luck. I simply can't see how you can stay in sync with Garmin when a new SDK and Eclipse CIQ plugin is released....

    Have you ever taken a CIQ project from idea to coding to testing (including app settings) to uploading to the app store, using just your IDE? And then tried again with new features the day Garmin release a new SDK/Eclipse Plugin?
  • Former Member
    Former Member over 8 years ago
    se vende

    I love that your working on this!! One enormous reason is that many folks do not like (or nearly hate) Eclipse. I've been a user of IDEA, NetBeans, RubyMine (Ruby flavored IDEA), etc for years and I find Eclipse both baffling, overly complicated and incredibly obtuse. Where as I was able to get the basics for Idea and Netbeans within minutes of using them. Seems like anytime you need to do anything, you step into a swamp of complication with Eclipse. I do realize it's a borderline religious thing.

    The Eclipse CIQ plugin is good, but it's not terribly complex/deep. Most of the "moving" bits are things that are part of the SDK generically. So while creating an IDEA plugin is a big project, I doubt it'll be too difficult to keep up with the advances in monkeyc/API.

    One thing I'd love to see with the IDEA plugin, when the support for firing off the simulator and such is done, is the ability to override the commands and parameters used to execute any command (compiler, simulator, etc). I run under linux with a combination of slightly tweaked scripts and wine (for the simulator) and it works good, but doesn't work with the eclipse plugin because I can't tweak the actual commands/parameters. With just a little flexibility there, I could make the integration work on platforms other than windows/mac.

    I'm going to try the plugin shortly and am very grateful for a chance to switch to a sane IDE (my opinion, I know).

    Gerry
  • Hi Gerry

    The plugin actually already calls all the .exe and .bat files with wine if running on Linux. I improved it a little in 0.3.1 (wine *.bat wasn't really working), but you need to start simulator separately for it to work reliably (if using Linux and wine - in Windows should work fine, haven't tested Mac).

    In 0.3.1 Program Arguments (which you can set in module run configuration) are now appended in the end of the running command (but not allowing to overwrite the command), though this isn't too useful for your usecase.

    For compiling, I use the monkeybrains.jar directly, so no script needed on compiling.


    Madis