Code-settings-sync: Add Settings Sync to the Azure Data Studio "gallery"

Created on 25 Jun 2019  路  14Comments  路  Source: shanalikhan/code-settings-sync

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

Re: #892, #668 - in order to show up as an extension for Azure Data Studio, the publishing documentation mentions it needs to be added to this JSON file.

It appears this requires the VSIX and other artifacts for the plugin to be hosted, which can be done on GitHub, however, that sort of implies there's a release posted for it. I don't see that available for the 3.3.x releases so far.

馃挕 Describe the solution you'd like

  • Releases in GitHub for the extension so the artifacts can be referenced (e.g., can't be a zip file)
  • PR (or the info so someone else can create a PR) for the Azure Data Studio JSON file "gallery."

馃挕 Additional context

It's unclear if this indicates some level of ongoing maintenance, like every time a release of the extension is published the JSON needs to be updated, however, if there is a release with the appropriate files in this GitHub repo, it'd be easy enough for the community to submit pull requests to the Azure Data Studio JSON file and help deal with that.

feature-request 馃挕

All 14 comments

Latest release tag has been added.

PR is welcome for it.

Totally happy to do that, no problem. However, I'm not sure I have all the data, so let me verify before I do.

Here's an existing plugin in their JSON:

{
  "extensionId": "10",
  "extensionName": "agent",
  "displayName": "SQL Server Agent",
  "shortDescription": "Manage and troubleshoot SQL Agent jobs",
  "publisher": {
    "displayName": "Microsoft",
    "publisherId": "Microsoft",
    "publisherName": "Microsoft"
  },
  "versions": [{
    "version": "0.40.0",
    "lastUpdated": "5/31/2019",
    "assetUri": "",
    "fallbackAssetUri": "fallbackAssetUri",
    "files": [{
        "assetType": "Microsoft.VisualStudio.Services.VSIXPackage",
        "source": "https://sqlopsextensions.blob.core.windows.net/extensions/agent/agent-0.40.0.vsix"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Icons.Default",
        "source": "https://raw.githubusercontent.com/Microsoft/vscode-mssql/master/images/sqlserver.png"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Content.Details",
        "source": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/extensions/agent/README.md"
      },
      {
        "assetType": "Microsoft.VisualStudio.Code.Manifest",
        "source": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/extensions/agent/package.json"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Content.License",
        "source": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/LICENSE.txt"
      }
    ],
    "properties": [{
        "key": "Microsoft.VisualStudio.Code.ExtensionDependencies",
        "value": ""
      },
      {
        "key": "Microsoft.VisualStudio.Code.Engine",
        "value": ">=0.32.1"
      },
      {
        "key": "Microsoft.AzDataEngine",
        "value": ">=1.8.0"
      },
      {
        "key": "Microsoft.VisualStudio.Services.Links.Source",
        "value": "https://github.com/Microsoft/azuredatastudio"
      }
    ]
  }],
  "statistics": [],
  "flags": "preview"
}

For settings sync, here are my guesses. In particular...

  • Double-check the publisher items and the VS Code engine dependency.
  • Do you want the 'preview' flag on the extension? It's an optional flag (at the bottom of the JSON).
  • The extension ID at the top (42) is just a manually auto-incremented integer. The last one in their JSON right now is 41, so this would be 42.
{
  "extensionId": "42",
  "extensionName": "code-settings-sync",
  "displayName": "Settings Sync",
  "shortDescription": "Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.",
  "publisher": {
    "displayName": "Shan Khan",
    "publisherId": "Shan",
    "publisherName": "Shan"
  },
  "versions": [{
    "version": "3.3.1",
    "lastUpdated": "6/26/2019",
    "assetUri": "",
    "fallbackAssetUri": "fallbackAssetUri",
    "files": [{
        "assetType": "Microsoft.VisualStudio.Services.VSIXPackage",
        "source": "https://github.com/shanalikhan/code-settings-sync/releases/download/v3.3.1/code-settings-sync-3.3.1.vsix"
      },
      {
        "assetType": "Microsoft.SQLOps.DownloadPage",
        "source": "https://github.com/shanalikhan/code-settings-sync/releases/tag/v3.3.1"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Icons.Default",
        "source": "https://raw.githubusercontent.com/shanalikhan/code-settings-sync/master/images/cloud.png"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Content.Details",
        "source": "https://raw.githubusercontent.com/shanalikhan/code-settings-sync/master/README.md"
      },
      {
        "assetType": "Microsoft.VisualStudio.Code.Manifest",
        "source": "https://raw.githubusercontent.com/shanalikhan/code-settings-sync/master/package.json"
      },
      {
        "assetType": "Microsoft.VisualStudio.Services.Content.License",
        "source": "https://raw.githubusercontent.com/shanalikhan/code-settings-sync/master/LICENSE"
      }
    ],
    "properties": [{
        "key": "Microsoft.VisualStudio.Code.ExtensionDependencies",
        "value": ""
      },
      {
        "key": "Microsoft.VisualStudio.Code.Engine",
        "value": ">=1.35.1"
      },
      {
        "key": "Microsoft.VisualStudio.Services.Links.Source",
        "value": "https://github.com/shanalikhan/code-settings-sync"
      }
    ]
  }],
  "statistics": [],
  "flags": "preview"
}

If these appear correct, I'll create a PR for their site and move forward. Thanks!

Double-check the publisher items and the VS Code engine dependency.

Yes, thats looks good.

Do you want the 'preview' flag on the extension? It's an optional flag (at the bottom of the JSON).

Yes, let make as preview for this version, If it goes well, we will remove this from next builds.

If these appear correct, I'll create a PR for their site and move forward

Once you create the PR, let me know or provide some steps so I can create more PR for upcoming versions for Settings Sync.

Here is the PR for the Azure Data Studio gallery JSON file.

The instructions for how to publish new extensions and updates are pretty simple and shown in the docs here. In the JSON I see there's a "versions" node with the info for getting a particular version of the extension; it appears you'd just add another version to that array of versions. Copy/paste the existing one, update the version and download location, that's it.

I don't see any extensions in there with multiple versions, though... so I guess we'll see. :)

Okay, Thanks.
I think we can close this issue.

I don't see this extension in the gallery and I get an error when I try to install from VSIX.

Unable to install version '3.4.1' of extension 'shan.code-settings-sync' as it is not compatible with Azure Data Studio '1.9.0'.

Should I open a new issue?

The PR to put it in the gallery keeps getting ignored. They add other extensions and then it causes a conflict with the PR, so I've had to update it. Looks like it's in conflict _again_. The folks over in the ADS project haven't commented or anything on it.

I can't vouch for the compatibility message.

Looks like it's in conflict again.

@tillig can you update the PR and resolve the conflict over there, i have mentioned the reviewer over there. If they find time to review PR, i don't want to let them leave due to conflicts.

Already fixed.

Not showing for me

https://imgur.com/a/FuWqLnw
Extension not found

@bernardoadc you need to complain to the Azure Data Studio folks who still haven't accepted the pull request. There's nothing to be done about it from this repo/project.

They've finally acknowledged the PR and I've updated it (again). I've heard they're actually going to merge it this time, so... 馃

They just accepted and merged the PR. Apparently there's a thing with Azure Data Studio where they won't let you just "install the extension directly" like you can in VS Code. You have to search the extension gallery, find the extension, go download the VSIX yourself, then use the extension panel to install from VSIX. I'm unclear on the details of why, just that's what they said in the PR.

BUT! It's been accepted. Unclear how long it takes to propagate through and show up in the list of extensions.

Showed up in the list for me. Altough is like you said, you have to click in install, download the release file and install from VSIX. Don't think thats a problem, but it is weird that asked for confirmation 'cause its a third party extension (some folks maybe not like that).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hfcheng66 picture hfcheng66  路  5Comments

jdshkolnik picture jdshkolnik  路  3Comments

mklement0 picture mklement0  路  5Comments

dawsbot picture dawsbot  路  5Comments

axetroy picture axetroy  路  4Comments