Giter Club home page Giter Club logo

vscode-extensions-profiles's Introduction

Hi there

I'm Evald Smalyakov, a full-stack web developer and software engineer. I am also an open source enthusiast and maintainer. Lately I've been more busy developing microservices and tools on Golang. I have a lot of experience in developing architectural solutions from scratch and a lot of projects.

My stats

GitHub Stats / Evald Smalyakov Wakatime Stats / Evald Smalyakov

My personal open source projects

evald24/vscode-extension-profiles evald24/go-gen-config

My Skills

Only what I have been working with for a long time (more than a year) and there are projects made. Darkened something that has not been used for more than a year

Languages

Golang JavaScript TypeScript C Sharp (C#) PHP

JavaScript Frameworks and tools

NodeJS Vue.js NuxtJS React React Native TypeGraphQL Apollo GraphQL Prisma

RPC / APIs

gRPC GraphQL RESTful

Database

PostgreSQL Redis MongoDB MySQL Microsoft SQL Server

Message Brokers

RabbitMQ Apache Kafka

Linux OS

Ubunt Alpine Linux CentOS Debian

Other

Docker Docker Compose Grafana Prometheus GitHub Actions MinIO Nginx Apache Proxmox

And many other small tools that I did not mention


evald24

vscode-extensions-profiles's People

Contributors

da-the-dev avatar dependabot[bot] avatar evald24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

vscode-extensions-profiles's Issues

Unable to open database file

Hello! I love the idea behind this extension, but when I try to apply a profile after creating it, it produces the following error...

2022-04-01 at 01 03 28@2x

VSCode: 1.66.0 (Universal)
Electron: 17.2.0
Chromium: 98.0.4758.109
Node.js: 16.13.0
V8: 9.8.177.11-electron.0
OS: Darwin x64 21.4.0

Allow syncing profiles when using Remote Connection (SSH)

When using SSH, all the extensions are active at once which consume too many system resources. Automatically transferring the profiles when suing SSH would allow for a more manageable experience and light on system resources. Depending on the number of extension, VSCode can become unusable.

Applying profile does not enable extensions

When I disable all extensions except the profile extension which I have made global
then apply a profile it doesn’t enable the extensions in the profile.
Was this meant to be apart of the features?
If not, I think it needs adding or at least have an option.

macOS 12.2.1
Version: 1.65.2 (Universal)
Commit: c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1
Date: 2022-03-10T14:33:49.188Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin arm64 21.3.0

Creating profile fails with an error

VS Code: 1.63.2 (system setup)
OS: Windows_NT x64 10.0.19043

Creating a profile results in the following error:

[2021-12-24 17:43:02.254] [exthost] [error] Error: Cannot find module 'C:\Users\alexz\.vscode\extensions\\.012fa1b8-75e7-4ab1-a412-3927eed7396a\package.json'
Require stack:
- c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\utils.js
- c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\storage.js
- c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\commands.js
- c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\extension.js
- c:\Program Files\Microsoft VS Code\resources\app\out\vs\loader.js
- c:\Program Files\Microsoft VS Code\resources\app\out\bootstrap-amd.js
- c:\Program Files\Microsoft VS Code\resources\app\out\bootstrap-fork.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:934:15)
    at Module._load (internal/modules/cjs/loader.js:779:27)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
    at Function.t._load (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:114:32222)
    at Function.p._load (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:114:28887)
    at Function.f._load (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:104:61699)
    at Module.require (internal/modules/cjs/loader.js:1006:19)
    at Module.require (c:\Program Files\Microsoft VS Code\resources\app\extensions\microsoft-authentication\dist\extension.js:1:38461)
    at h (c:\Program Files\Microsoft VS Code\resources\app\out\vs\loader.js:4:699)
    at Object.<anonymous> (c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\utils.js:228:28)
    at Generator.next (<anonymous>)
    at fulfilled (c:\Users\alexz\.vscode\extensions\evald24.vscode-extension-profiles-1.0.7\out\utils.js:5:58) vscode-extension-profiles.Create {"value":"evald24.vscode-extension-profiles","_lower":"evald24.vscode-extension-profiles"}

Can't create a profile

I just installed this extension and when i used control shift p and then selected "Create Profile' I get the following error:
image
image

I've already tried disabling the extension, reenabling it and restarting vscode.

About VSCode Version:
image

Windows PC (Win 10)
image

Ext is not working ....

Hi,

I've created an Extension Profile, Restarted VSCode, Chose Extension Profile, Restarted VSCode again, Cleared cache and still al of my extensions (not the ones I chose) remain enabled...

I'm not sure what more information should I add here...
VSCode is updated to the latest version.

Running the contributed command: 'vscode-extension-profiles.Create' failed

When creating a profile, the Create command returns an error.
Link to video showing the error

After some playing around, here is the breakdown of all non-functioning commands:

  • Create : Running the contributed command: 'vscode-extension-profiles.Create' failed but only after specifying a name
  • Refresh : Running the contributed command: 'vscode-extension-profiles.Refresh' failed

Other commands seem to work fine (considering that there are no profiles as I cannot create them).

I have tried multiple different workspaces and no workspace with no luck.

Does extension enable / disable extensions when profile is applied?

Hi - does this extension actually enable the selected extensions and disable the unselected extensions when a profile is applied? I'm not seeing that behavior and I guess I'm wondering what the profiles actually do if they don't disable the unselected extensions when a profile is applied. Thank you.

The extension does not work with WSL

OS: Window 10

This extension does not work with Remote - WSL extension. Running any command returns an error:

[exthost] [error] Error: SQLITE_CANTOPEN: unable to open database file vscode-extension-profiles.Create {"value":"evald24.vscode-extension-profiles","_lower":"evald24.vscode-extension-profiles"}

After reading your source code, I realized the problem is here:

export async function getDisabledExtensionsGlobalStorage() {
const db = await open({
filename: getUserGlobalStoragePath() + platformSlash + "state.vscdb",
driver: sqlite3.Database,
});

export function getUserGlobalStoragePath(): string {
// eslint-disable-next-line curly
if (process.platform === "win32") return `${getVSCodePath()}\\User\\globalStorage`;
// eslint-disable-next-line curly
else return `${getVSCodePath()}/User/globalStorage`;
}

export function getVSCodePath(): string {
switch (process.platform) {
case "win32":
return `${process.env.APPDATA}\\Code`;
case "darwin":
return `${process.env.HOME}/Library/Application Support/Code`;
case "linux":
default:
return `${process.env.HOME}/.config/Code`;
}
}

When using WSL, the process.platform is linux, but the VS Code path is ${process.env.APPDATA}\\Code, resulting in the state.vscdb file does not exist.

"Working folder not found, open a folder an try again" after download node.js extension pack

hello,

first, i'd like to say, your extensions is so powerfull, usually I don't report issues, but i want improvment on this extensions, so i do.

i downloaded an extensions pack to create a profile for node.js and i got the error (Working folder not found, open a folder an try again.)
(https://marketplace.visualstudio.com/items?itemName=waderyan.nodejs-extension-pack)

so if you can help me 😦 im on Windows 10 and if you want more informations, i can give SOME !

Error, does not work on Apple M1

Activating extension 'evald24.vscode-extension-profiles' failed: Cannot find module '/Users/esmalyakov/.vscode/extensions/evald24.vscode-extension-profiles-1.1.1/node_modules/sqlite3/lib/binding/napi-v3-darwin-arm64/node_sqlite3.node'

Re-enabled plugin and its commands have stopped working

I reenabled this plugin to retest, because it was failing to change plugins when changing to different profiles,
and I can no longer run any of its commands from the command palette anymore.
I have uninstalled, reinstalled the extension, cleared caches and removed workspaces and disabled all other plugins to no avail.

Screenshot 2022-06-19 at 12 02 14

macOS 12.4 (21F79)
M1 MBP 2020

Version: 1.68.1 (Universal)
Commit: 30d9c6cd9483b2cc586687151bcbcd635f373630
Date: 2022-06-14T12:52:13.188Z
Electron: 17.4.7
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Darwin arm64 21.5.0

Applying a profile doesn't produce any changes

System: macOS
Extension Version: 1.0.6

I'm applying the settings and while it reloads the window, the desired extensions aren't enabled.

In my case I setup a profile with golang.go and some other Go tools.
Select & Apply -> Window reloads -> viewing @installed go shows the extensions still greyed out.

Enabled dev tools, but nothing logged to the console that I can see.
Not sure what else to check.

The extension seems super promising so thanks for your development effort on this!

Do I need additional functionality?

Further development

Explanation: πŸ’‘ - pending, βš™οΈ ️- in progress, ❌ - cancelled, βœ… - done

In parentheses are those who proposed this idea:

  • πŸ’‘ Apply a profile to a set of selected workspaces;
  • βœ… Global profile (drod3763, jlongo);
  • βœ… Import selected profiles;
  • πŸ’‘ Multiple (combine) apply of profiles (lakuapik);
  • πŸ’‘ Recommendations for installing missing extensions;
  • πŸ’‘ Convenient management of extensions for a separate project without linking to a profile or creating it;
  • πŸ’‘ Create a profile from the current or selected project;
  • βœ… Multiply delete profiles;
  • πŸ’‘ UI to switch profiles, a dropdown box on the bottom status bar (dnmalenke).
  • πŸ’‘ Support SSH/WSL

Or suggest other ideas 😌

VSCode portable mode

Hi, having trouble using the extension from the start.
I use portable mode and it has trouble finding folders in profile trying to create one.
Is it looking in default %SystemDrive%\Users<username> windows folder?
Is it enough to edit json file or something?
Thanks

Crash with extension 'Json to dart model' installed

Hi !

I found a little bug that make this wonderful extension crash when the extension json-to-dart is installed when we want to create a profile. It comes from the following function in the utils.ts file:

export async function getAllExtensions() {
  const extPath = getExtensionsPath();
  let extensions: ExtensionValue[] = [];
  let obsolete: string[] = []; // default value

  if (fs.existsSync(extPath + ".obsolete")) obsolete = Object.keys(loadJSON(extPath + ".obsolete"));

  let all = await readdir(extPath);

  await Promise.all(
    all.map(async (name) => {
      if ((await stat(extPath + platform_slash + name)).isDirectory() && !obsolete.includes(name)) {
        let info: PackageJson = require(extPath + platform_slash + name + platform_slash + "package.json");
        if (!info.__metadata?.id)
          console.log(info);
        extensions.push({
          id: `${info.publisher.toLowerCase()}.${info.name.toLowerCase()}`,
          uuid: info.__metadata.id,
          label: info.displayName || info.name,
          description: info.description,
        });
      }
    }),
  );

  return extensions.sort((a: any, b: any) => {
    // eslint-disable-next-line curly
    if (a.label > b.label) return -1;
    // eslint-disable-next-line curly
    else if (a.label < b.label) return 1;
    // eslint-disable-next-line curly
    else return 0;
  });
}

image
It crashes at line 214 because the __metadata object is not present into the info object for the extension json-to-dart.

I propose that if the use of this __metadata object is mandatory for the extension then that the extensions which don't have it are skipped. Meanwhile I'm going to uninstall json-to-dart.

Applying a profile does not take effect until VS Code is restarted

Hi - when I apply a profile, the enabled/disabled extensions don't actually change until I restart VS Code. Is this the intended behavior?

I've also tried using Developer: Reload Window after applying a profile and that does not work either. No matter what I do, it seems like the changes don't take effect until I restart the program. This is already an improvement over having no profiles, but it would be great to get this behavior without a restart.

I'm on Windows.

Thanks!

Default Profile when starting VSCode

It would be nice to have a default profile every time VSCode is opened. Currently, the last profile used it opened. This would be useful if someone has a lot of extensions (such as language support for many languages) but only needs limited functionalities such as GitLens and Git Tree, loading everything will be too slow and heavy on resources

Windows: Enable extension in current workplace: Failed

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:

  • make sure to actually be in a workspace
  • disable extension X globally
  • create profile with extension X in it (to be enabled for workspace only)
  • apply profile
  • see no result

2. Where stored?

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

3. Thanks

Thanks for making this extension, πŸ‘ πŸŽ‰

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.