evald24 / vscode-extensions-profiles

Lets you create profiles to include the selected extensions in the desired project.
https://marketplace.visualstudio.com/items?itemName=evald24.vscode-extension-profiles
Apache License 2.0
52 stars 12 forks source link

Windows: Enable extension in current workplace: Failed #8

Closed generic-user closed 3 years ago

generic-user commented 3 years ago

Hi, I just did a simple test of your extension on Windows.

1. Enabling in workspace

Making a new profile and selecting an extension to be enabled in workspace, does not seem to have any effect when applying the saved profile.

How to test yourself:

2. Where stored?

As a secondary question, where do you store the lists?

3. Thanks

Thanks for making this extension, 👍 🎉

evald24 commented 3 years ago

Hi I just tested on Windows 10 x64, the error is related to workspaces.

Thanks for the detailed description of the problem, I have already started fixing it. 🛠


When a profile is applied, the selected extensions are added to the enabled ones, and not the selected ones to the disabled ones inside the workspace. On Windows, the path to the workspace (folder) data is C:\Users\<username>\AppData\Roaming\Code\User\workspaceStorage\<uuid>\state.vscdb. The extensionsIdentifiers/disabled field stores information about the disabled extensions in this workspace, and theextensionsIdentifiers/enabled contains the enabled extensions for the workspace.

*.vscdb is a SQLite file.

Lists are stored in C:\Users\<username>\AppData\Roaming\Code\User\globalStorage\state.vscdb in thevscodeExtensionProfiles/profiles field.

The list looks like this:

export type ProfileList = {
  [key: string]: ExtensionList;
};

export type ExtensionList = {
  [key: string]: {
    uuid: string;
    label?: string;
    description?: string;
  };
};

Example:

{
  "Example profile": {
    "zxh404.vscode-proto3": {
      "uuid": "1d3d1fb2-0d8f-47ed-bfce-990b8ddfc9d8",
      "label": "vscode-proto3",
      "description": "Protobuf 3 support for Visual Studio Code"
    },
    "dunstontc.vscode-go-syntax": {
      "uuid": "488eeb77-00fc-43a2-971f-bbc2db907ca2",
      "label": "vscode-go-syntax",
      "description": "Syntax highlighting for Go (WIP)"
    },
    "coolbear.systemd-unit-file": {
      "uuid": "fe20f03a-2abf-470a-ab23-d671ec38ce42",
      "label": "systemd-unit-file",
      "description": "Language support for systemd unit files"
    },
    "kangping.protobuf": {
      "uuid": "5228abae-ad60-4fc3-a1d5-23c5a778c51a",
      "label": "protobuf",
      "description": "protobuf"
    },
    "hangxingliu.vscode-nginx-conf-hint": {
      "uuid": "c3d3e8fb-c61d-4edf-8fb8-32298bc763f9",
      "label": "nginx.conf hint",
      "description": "nginx.conf syntax, hint and autocompletion"
    },
    "zainchen.json": {
      "uuid": "311c4d7f-e81f-47f8-9956-6a9919ddef43",
      "label": "json",
      "description": "Json for Visual Studio Code"
    }
  },
  "Other profile": {
    "zxh404.vscode-proto3": {
      "uuid": "1d3d1fb2-0d8f-47ed-bfce-990b8ddfc9d8",
      "label": "vscode-proto3",
      "description": "Protobuf 3 support for Visual Studio Code"
    },
    "dunstontc.vscode-go-syntax": {
      "uuid": "488eeb77-00fc-43a2-971f-bbc2db907ca2",
      "label": "vscode-go-syntax",
      "description": "Syntax highlighting for Go (WIP)"
    }
  }
}
evald24 commented 3 years ago

@generic-user Hi, update 1.0.5 was released where it was fixed, you can check if everything works for you.

evald24 commented 3 years ago

For a long time there is no answer to this problem and such a problem has not been observed, so the question will be closed.

If you still have this problem, please write and the issue will be opened again