Setting up Eclipse for CIQ Development....

I set up a new/faster computer and migrated my Eclipse environment over to the new platform. I took some notes on the setup. This might help new people. I know Eclipse is no longer the preferred IDE, but I prefer it and it works. So leaving this here. I'll eventually move over to Visual Studio.

How to Install Eclipse for CIQ Development
1. Create folders on the new computer, such as:

  • GARMIN_CIQ
    • CIQ_Projects
    • Developer_Key
    • Export_Files
    • SDK Manager

2. Install Eclipse for Java Developers

3. Eclipse: Help - Check For Updates

  • apply updates, restart eclipse

4. Eclipse: Help - Install New Software - Add

5. Eclipse: Install the SDK Manager

  • Eclipse: ConnectIQ - SDK Manager
  • Download
  • Browser - Accept and Download for Windows
  • Extract the ZIP file into your SDK Manager folder (step 1)

6. Eclipse: Window - Preferences - Connect IQ

  • Uncheck Detect SDK Manager path automatically
  • Specify the correct path inc the EXE file name
  • Apply

7. Eclipse: ConnectIQ - SDK Manager

  • Run It, Login, Download the latest, set the latest to Current
  • Wait for all the Devices to also load/refresh

8. Eclipse: Windows - Preferences - Connect IQ - Compiler

  • Enter your Developer ID, Get this by:
    • Going to your Developer Dashboard
    • Clicking on an existing CIQ App you've uploaded
    • Click on "Edit Details"
    • Look at the URL string between "developer" and "apps"

  • Build Timeout: 0
  • NOTE: Developer Key will be inserted here later

How to Install Existing CIQ PRojects
1. Copy your Developer Key in the folder (step 1 above)

2. Copy your CIQ Projects in your Projects folder (step 1 above)

3. Eclipse: File - Open Projects From File System

  • Select Directory and all the project folders, but deselect the parent folder

4. If you have Barrels

  • Eclipse: Connect IQ - Export Wizard
  • Do for each Barrel
  • Output Directory - select your folder (see step 1 above)
  • Signing Key - point to your Developer Key file

5. Change Appearance (if Dark Mode is problematic)

  • Eclipse: Window - Preference - Appearance
  • Theme: Classic

6. Run a Project in the Simulator

  • Eclipse: Run - Run Configurations
  • Choose a Project
  • Choose a Target Device
  • Run (runs simulator)
    • Simulator - Run Activity Data
    • Start & Play (arrow)
  • I was also a big fan of eclipse, but exclusively use visual studio code now. The rich extension api of vscode even ameliorates the environment ( https://starttorun.info/best-vscode-extensions-for-any-developer/ )

    What I do miss in visual studio code is the much better unit test interface that was available in eclipse. Unit testing in vscode is far from an enjoyable experience at the moment...

  • I struggled to get viscose working, I’d try to import a project/folder and it would enter safe mode or whatever which meant I couldn’t use the monkey c extensions. Then all the other files you seem to have to make, gave up, stuck to eclipse.

  • for me it works best in vscode if i use another workflow than what I was used to in eclipse. In vscode I don't use workspaces but open the folder of the project I want to work on then you don't need to do any importing at all. This of course means that because I open the folder directly I only have one project open at a time, which is a bit annoying for the projects where I use shared code (not through barrels) that sits in other folders, but I've learned to cope with that part.

  •  In vscode I don't use workspaces but open the folder of the project I want to work on then you don't need to do any importing at all.

    Yeah I find this to be optimal, even when i use VS Code for work. I like that in VS Code you can choose to use a workspace or not, whereas Eclipse sort of imposes the use of a workspace (imo). Eclipse doesn't even make it easy to open a file which isn't associated with a project. I use VS Code as a general purpose editor/viewer from time to time, can't say the same about Eclipse (even though I used Eclipse at work for years, whenever I wanted to open a one-off text file, I'd always use a lighter weight editor.)

    This of course means that because I open the folder directly I only have one project open at a time, which is a bit annoying for the projects where I use shared code (not through barrels) that sits in other folders, but I've learned to cope with that part.

    For this kind of thing I use symlinks (but only when it's shared code that's specific to a couple of related projects, like a widget and device app version of the same app). It's just a bit annoying that it breaks VS Code git integration in Windows.

    For general purpose libraries you could also use git submodules, which would have the advantage of allowing you to use different versions of shared code for different projects.

    I struggled to get viscose working, I’d try to import a project/folder and it would enter safe mode or whatever which meant I couldn’t use the monkey c extensions. Then all the other files you seem to have to make, gave up, stuck to eclipse.

    I think there are things Garmin could've done to make the Monkey C UX in VS Code a bit better, but which probably aren't going to happen. Like instead of putting all the project properties in the command palette, they could've implemented a property view sheet, like what's done for projects in the MS C/C++ extension.

    As far as safe mode goes, does it not work to press the button which disables safe mode?

    Personally I think learning VS Code is beneficial if you want to branch out into mainstream coding, because:

    - it's the most popular IDE in the world with great support for popular languages (js, typescript, python, etc)

    - there are a lot of useful extensions available for it

    - a lot of concepts in VS Code are also present in other popular editors, like multiple cursors, command palette, etc

    It's not perfect by any means, but it's in active development and gets major new features all the time.

  • “As far as safe mode goes, does it not work to press the button which disables safe mode?”

    Not for me sadly for some reason.

    “Personally I think learning VS Code is beneficial if you want to branch out into mainstream coding”

    TBH I won’t be doing that, I only learned ConnectIQ in the first place to change the map in tskfs offline map data field. Then because I felt limited by storage and lack of ability to zoom I was like might as well make my own map app, tried different variations, images, coordinates, made a program in scratch to compress coordinates, got told I was biting off more than I could chew, two-three years later it’s nearly finished. Finally.

  • That's fair. I still think VS Code has a lot of quality-of-life / usability improvements over Eclipse, although it is very bloated (but so is Eclipse).

    You should be able to disable restricted mode completely:

    [https://stackoverflow.com/questions/67914787/what-is-restricted-mode-in-the-vs-code-status-bar-and-how-can-i-disable-it]

  • See I tried doing this before and nothing changed, maybe I’ll try again at some point but I have little faith.

  • Just open the other folders via the add to workspace menu option in VSCODE. It’ll then remember all the folders open when you shutdown and open up again.

  • I’m a big fan of VSCode. Use it for building my docker containers, node js servers, caddy servers, vue js front ends, viewing GPX files etc.  It’s clean, easy to use and cut out all the bloat of the IDEs I’ve used since the 1980s. Plus moving between Linux and Windows is really easy in vscode on W10. Need to do some SSL certificate work, then switch to Linux in terminal, use open ssl, then switch back with certificates now in your Windows project etc.

  • Hello, the link does not work for me at all, I have tried everything including restart, uninstall install, different laptop etc. could you please share the file with me?