Complete
over 4 years ago

Fixed in 0.1.4

VisualStudio Code extension bug with "New Product" wizard and "Set Products by ConnectIQ Version" or "Edit Products"

I am playing around with the new Visual Studio Code Extension.  I decided to build a brand new test watch app using the wizard just to see how it behaved.  I made the following selections.

  • watch app
  • simple
  • CIQ version 1.2.0

It generated the template and opened the manifest file to run the other commands to select the devices.  When I ran "Set Products by ConnectIQ Version" I selected all the device types  I noticed that it added entries for devices into the manifest that only support watch faces, like the swim 2, FR45, and vivolife even though the app type is clearly set for watch app.  Here is a copy of the manifest output for review.  

<?xml version="1.0"?>
<!-- This is a generated file. It is highly recommended that you DO NOT edit this file. -->
<iq:manifest version="3" xmlns:iq="http://www.garmin.com/xml/connectiq">
  <!--
        Use "Connect IQ: Edit Application" from the Visual Studio Code command palette
        to update the application attributes.
    -->
  <iq:application id="eda6dbcf-1540-4b93-97d9-f3ddb96668ec" type="watch-app" name="@Strings.AppName" entry="betatestApp" launcherIcon="@Drawables.LauncherIcon" minSdkVersion="1.2.0">
    <!--
            Use the following from the Visual Studio Code comand palette to edit
            the build targets:
            "Connect IQ: Set Products by Version" - Lets you add all producs that meet the
                                                    minimum SDK version of the application
            "Connect IQ: Edit Products" - Lets you add or remove any product
        -->
    <iq:products>
      <iq:product id="approachs60"/>
      <iq:product id="approachs62"/>
      <iq:product id="d2air"/>
      <iq:product id="d2bravo"/>
      <iq:product id="d2bravo_titanium"/>
      <iq:product id="d2charlie"/>
      <iq:product id="d2delta"/>
      <iq:product id="d2deltapx"/>
      <iq:product id="d2deltas"/>
      <iq:product id="descentmk1"/>
      <iq:product id="edge1030"/>
      <iq:product id="edge1030bontrager"/>
      <iq:product id="edge1030plus"/>
      <iq:product id="edge130"/>
      <iq:product id="edge130plus"/>
      <iq:product id="edge520plus"/>
      <iq:product id="edge530"/>
      <iq:product id="edge820"/>
      <iq:product id="edge830"/>
      <iq:product id="edgeexplore"/>
      <iq:product id="edge_1000"/>
      <iq:product id="edge_520"/>
      <iq:product id="epix"/>
      <iq:product id="fenix3"/>
      <iq:product id="fenix3_hr"/>
      <iq:product id="fenix5"/>
      <iq:product id="fenix5plus"/>
      <iq:product id="fenix5s"/>
      <iq:product id="fenix5splus"/>
      <iq:product id="fenix5x"/>
      <iq:product id="fenix5xplus"/>
      <iq:product id="fenix6"/>
      <iq:product id="fenix6pro"/>
      <iq:product id="fenix6s"/>
      <iq:product id="fenix6spro"/>
      <iq:product id="fenix6xpro"/>
      <iq:product id="fenixchronos"/>
      <iq:product id="fr230"/>
      <iq:product id="fr235"/>
      <iq:product id="fr245"/>
      <iq:product id="fr245m"/>
      <iq:product id="fr45"/>
      <iq:product id="fr630"/>
      <iq:product id="fr645"/>
      <iq:product id="fr645m"/>
      <iq:product id="fr735xt"/>
      <iq:product id="fr745"/>
      <iq:product id="fr920xt"/>
      <iq:product id="fr935"/>
      <iq:product id="fr945"/>
      <iq:product id="garminswim2"/>
      <iq:product id="gpsmap66"/>
      <iq:product id="gpsmap86"/>
      <iq:product id="legacyherocaptainmarvel"/>
      <iq:product id="legacyherofirstavenger"/>
      <iq:product id="legacysagadarthvader"/>
      <iq:product id="legacysagarey"/>
      <iq:product id="marqadventurer"/>
      <iq:product id="marqathlete"/>
      <iq:product id="marqaviator"/>
      <iq:product id="marqcaptain"/>
      <iq:product id="marqcommander"/>
      <iq:product id="marqdriver"/>
      <iq:product id="marqexpedition"/>
      <iq:product id="marqgolfer"/>
      <iq:product id="montana7xx"/>
      <iq:product id="oregon7xx"/>
      <iq:product id="rino7xx"/>
      <iq:product id="venu"/>
      <iq:product id="venud"/>
      <iq:product id="venusq"/>
      <iq:product id="venusqm"/>
      <iq:product id="vivoactive"/>
      <iq:product id="vivoactive3"/>
      <iq:product id="vivoactive3d"/>
      <iq:product id="vivoactive3m"/>
      <iq:product id="vivoactive3mlte"/>
      <iq:product id="vivoactive4"/>
      <iq:product id="vivoactive4s"/>
      <iq:product id="vivoactive_hr"/>
      <iq:product id="vivolife"/>
    </iq:products>
    <!--
            Use "Connect IQ: Edit Permissions" from the Visual Studio Code command
            palette to update permissions.
        -->
    <iq:permissions/>
    <!--
            Use "Connect IQ: Edit Languages" from the Visual Studio Code command
            palette to edit your compatible language list.
        -->
    <iq:languages/>
    <!--
            Use "Connect IQ: Configure Monkey Barrel" from the Visual Studio Code
            command palette to edit the included barrels.
        -->
    <iq:barrels/>
  </iq:application>
</iq:manifest>

I tried to run the setup wizard again selecting a watchface and CIQ version 2.4.0.  It appeared to filter out devices less than 2.4.x, but it still displayed devices, such as the edge units, which do not support watch faces.

I did look at my existing applications and unsupported devices are greyed out when I try to open the manifest for editing the device list.  So this appears to be something with running the commands with a new template.