Closed sheldonhull closed 2 years ago
adding a mention here in case github notifications didn't come through. :-) @evald24
Hi @sheldonhull, thanks.
Does this only happen when applied to a specific workspace or to others the same way?
I am now ill, when I feel better, I will immediately deal with this issue.
No rush and feel better! Multiple workspaces I believe. I've tried on several projects and doesn't seem to apply the changes.
I just tried to test on my windows system, but despite setting up settings sync, it doesn't find any profiles. Is the extension profile settings being saved outside of the normal sync folders? Was hoping I could jump on codespaces, windows, or mac and select the desired extension set to toggle a new set of markdown writing extensions, Go extensions, Python extensions, and others.
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 MacOS, the path to the workspace (folder) data is ~/Library/Application Support/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. This is how it works in vscode to enable/disable extensions, I made a wrapper over it.
*.vscdb
is a SQLite file.
Lists are stored in ~/Library/Application Support/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)"
}
}
}
Initially, I did the saving in the settings.json file, but the huge list of extensions in the settings does not look very practical. I will add profile export / import function soon.
I invite you to discuss these thoughts and suggestions in this issue: Do I need additional functionality?
I will add profile export / import function soon.
If I feel better today, I'll take on adding new features and improving it.
how can I get this to work for me?
this is my installed extension list and nothing changes when I create the profiles I want and select a profile
to be more specific about what happens, I select the extensions I want in a profile, then when I apply the profile, it just enables every single extension I have
{
"johnpyp.vscode-jumpy-plus": {
"uuid": "79dcf15e-066e-4603-b415-f1dc0fc33417",
"label": "jumpy",
"description": "Jumpy provides fast cursor movement, inspired by Atom's package of the same name."
},
"oderwat.indent-rainbow": {
"uuid": "eaa2127d-cb69-4ab9-8505-a60c9ee5f28b",
"label": "indent-rainbow",
"description": "Makes indentation easier to read"
},
"codezombiech.gitignore": {
"uuid": "3e891cf9-53cb-49a3-8d01-8f0b1f0afb29",
"label": "gitignore",
"description": "Lets you pull .gitignore templates from the https://github.com/github/gitignore repository. Language support for .gitignore files."
},
"njpwerner.autodocstring": {
"uuid": "2d6fea35-f68e-461d-9b7b-5cd05be99451",
"label": "autoDocstring - Python Docstring Generator",
"description": "Generates python docstrings automatically"
},
"dotjoshjohnson.xml": {
"uuid": "0cb81da2-1880-4755-9995-0ae9cc728e20",
"label": "XML Tools",
"description": "XML Formatting, XQuery, and XPath Tools for Visual Studio Code"
},
"kirozen.wordcounter": {
"uuid": "54be79b8-f7e1-40b8-92a7-46b921bff53d",
"label": "WordCounter",
"description": "Complete word counter inspired by ST WordCount plugin"
},
"stuart.unique-window-colors": {
"uuid": "85e93d09-9c05-4473-867f-8daaf1bc9e75",
"label": "Window Colors",
"description": "Automatically adds a unique color to each window's activityBar and titleBar."
},
"visualstudioexptteam.vscodeintellicode": {
"uuid": "876e8f93-74d0-4f4f-91b7-34a09f19f444",
"label": "Visual Studio IntelliCode",
"description": "%extension.description%"
},
"shardulm94.trailing-spaces": {
"uuid": "6ad45f5a-09ec-44e5-b363-867ddc1ec674",
"label": "Trailing Spaces",
"description": "Highlight trailing spaces and delete them in a flash!"
},
"albert.tabout": {
"uuid": "4ef6c2d5-de36-45a1-9015-18c1d4a3a25e",
"label": "TabOut",
"description": "Tab out of quotes, brackets, etc"
},
"tyriar.sort-lines": {
"uuid": "00518570-772b-4ccb-8b06-d056f3f556e0",
"label": "Sort lines",
"description": "Sorts lines of text"
},
"richie5um2.vscode-sort-json": {
"uuid": "3fb77af3-b8b3-4cb9-9137-f555bd80e2b1",
"label": "Sort JSON objects",
"description": "Sorts the keys within JSON objects"
},
"seudev.vscode-java-snippets": {
"uuid": "72ad42a8-ebad-4822-95fd-6d6eef3f971f",
"label": "Seudev's VSCode Java snippets",
"description": "The Seudev's Visual Studio Code Java snippets"
},
"shan.code-settings-sync": {
"uuid": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
"label": "Settings Sync",
"description": "Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist."
},
"natqe.reload": {
"uuid": "b9484b93-0531-4fd3-b3dd-9ff58dcfe678",
"label": "Reload",
"description": "Add reload button to status bar right bottom"
},
"ms-python.python": {
"uuid": "f1f59ae4-9318-4f3c-a9b5-81b2eaa5f8a5",
"label": "Python",
"description": "IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more."
},
"ms-python.vscode-pylance": {
"uuid": "364d2426-116a-433a-a5d8-a5098dc3afbd",
"label": "Pylance",
"description": "A performant, feature-rich language server for Python in VS Code"
},
"mohsen1.prettify-json": {
"uuid": "67e66172-30c7-4478-8f5d-6eac4ae755dc",
"label": "Prettify JSON",
"description": "Visual Studio Code Prettify JSON Extension"
},
"esbenp.prettier-vscode": {
"uuid": "96fa4707-6983-4489-b7c5-d5ffdfdcce90",
"label": "Prettier - Code formatter",
"description": "Code formatter using prettier"
},
"christian-kohler.path-intellisense": {
"uuid": "a41c1549-4053-44d4-bf30-60fc809b4a86",
"label": "Path Intellisense",
"description": "Visual Studio Code plugin that autocompletes filenames"
},
"fr43nk.seito-openfile": {
"uuid": "531cc46e-a673-425f-9f5a-60ce75187e35",
"label": "Open file",
"description": "Extract a filepath from the current cursor position and open the file"
},
"ms-vscode.notepadplusplus-keybindings": {
"uuid": "de785715-a9d3-4b21-8e9d-5aba0be1ac64",
"label": "Notepad++ keymap",
"description": "Popular Notepad++ keybindings for Visual Studio Code"
},
"iocave.monkey-patch": {
"uuid": "736c2316-7f4f-4b6a-8e5c-70527d82cf51",
"label": "Monkey Patch",
"description": "Inject custom javascript into vscode"
},
"pkief.material-icon-theme": {
"uuid": "5db78037-f674-459f-a236-db622c427c5b",
"label": "Material Icon Theme",
"description": "Material Design Icons for Visual Studio Code"
},
"shd101wyy.markdown-preview-enhanced": {
"uuid": "3b1db1fc-c7f7-4bd6-9fa4-b499dfa99a8a",
"label": "Markdown Preview Enhanced",
"description": "Markdown Preview Enhanced ported to vscode"
},
"redhat.java": {
"uuid": "198a707e-28af-4e84-8610-6e2f628dd12d",
"label": "Language Support for Java(TM) by Red Hat",
"description": "Java Linting, Intellisense, formatting, refactoring, Maven/Gradle support and more..."
},
"madhavd1.javadoc-tools": {
"uuid": "6d8f5969-5018-4eb8-a07f-3698085d0177",
"label": "Javadoc Tools",
"description": "This extension provides tools to the user for creating Javadocs for classes."
},
"sirtori.indenticator": {
"uuid": "fcbdb08e-4048-40e8-a674-fecc476f4b93",
"label": "Indenticator",
"description": "Highlights your current indent depth"
},
"donjayamanne.githistory": {
"uuid": "5960f38e-0bbe-4644-8f9c-9c8824e82511",
"label": "Git History",
"description": "View git log, file history, compare branches or commits"
},
"fosshaas.fontsize-shortcuts": {
"uuid": "828a25d0-b7db-4dbd-8386-35a86c357025",
"label": "FontSize Shortcuts ",
"description": "Change the font size with keyboard shortcuts"
},
"evald24.vscode-extension-profiles": {
"uuid": "53b2c651-4404-420f-b62b-b9f8fc915c5a",
"label": "Extension profiles",
"description": "Lets you create profiles to include the selected extensions in the desired project."
},
"vscjava.vscode-java-pack": {
"uuid": "96f11e1f-1a46-4592-b084-f025b2c2a81f",
"label": "Extension Pack for Java",
"description": "Popular extensions for Java development that provides Java IntelliSense, debugging, testing, Maven/Gradle support, project management and more"
},
"janisdd.vscode-edit-csv": {
"uuid": "72e9b049-d75d-415c-96e1-d6e74f0e3074",
"label": "Edit csv",
"description": "extension to edit csv files with a table ui"
},
"vscjava.vscode-java-debug": {
"uuid": "61fcd0cf-64d7-4836-8d6b-d55f4fb83281",
"label": "Debugger for Java",
"description": "A lightweight Java debugger for Visual Studio Code"
},
"vadimcn.vscode-lldb": {
"uuid": "bee31e34-a44b-4a76-9ec2-e9fd1439a0f6",
"label": "CodeLLDB",
"description": "A native debugger powered by LLDB. Debug C++, Rust and other compiled languages."
},
"formulahendry.code-runner": {
"uuid": "a6a0c5b2-d078-4bf5-a9ee-4e37054414b3",
"label": "Code Runner",
"description": "Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml, R, AppleScript, Elixir, VB.NET, Clojure, Haxe, Obj-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Pascal, Haskell, Nim, D, Lisp, Kit, V, SCSS, Sass, CUDA, Less, Fortran, Ring"
},
"xaver.clang-format": {
"uuid": "04208f17-8aed-4d49-b0a2-fbce829efbeb",
"label": "Clang-Format",
"description": "Use Clang-Format in Visual Studio Code"
},
"ms-vscode.cpptools": {
"uuid": "690b692e-e8a9-493f-b802-8089d50ac1b2",
"label": "C/C++",
"description": "C/C++ IntelliSense, debugging, and code browsing."
},
"austin.code-gnu-global": {
"uuid": "de611071-4d05-4903-821c-6878df63d4af",
"label": "C++ Intellisense",
"description": "C/C++ Intellisense with the help of GNU Global tags"
},
"aaron-bond.better-comments": {
"uuid": "7a0110bb-231a-4598-aa1b-0769ea46d28b",
"label": "Better Comments",
"description": "Improve your code commenting by annotating with alert, informational, TODOs, and more!"
},
"jeff-hykin.better-cpp-syntax": {
"uuid": "73767f91-7dcb-43cb-90b3-596d073eea1f",
"label": "Better C++ Syntax",
"description": "The bleeding edge of the C++ syntax"
},
"wwm.better-align": {
"uuid": "8bd90cfe-8edd-4b92-b992-2337fdc06604",
"label": "Better Align",
"description": "Align code without selecting them first."
},
"hookyqr.beautify": {
"uuid": "697255a9-3f36-44c8-b084-d3b91edfb23a",
"label": "Beautify",
"description": "Beautify code in place for VS Code"
},
"mark-wiemer.vscode-autohotkey-plus-plus": {
"uuid": "cf96e3c7-3b07-4403-acc9-2b6299ba7877",
"label": "AutoHotkey Plus Plus",
"description": "AutoHotkey IntelliSense, debug, and language support for VS Code, forked from AutoHotkey Plus by cweijan"
},
"slevesque.vscode-autohotkey": {
"uuid": "ce49f801-147f-49b8-9b1b-a8ee3dff91ef",
"label": "AutoHotkey",
"description": "AutoHotkey language support for VS Code"
},
"gruntfuggly.activitusbar": {
"uuid": "47137038-6832-49c2-a31c-9ad3d95187fc",
"label": "Activitus Bar",
"description": "Save some real estate by recreating the activity bar buttons on the status bar"
}
}
adding a mention here in case github notifications didn't come through. :-) @evald24
Hi, @ChocoTonic! Doesn't apply only to one folder or doesn't apply to others too?
It fails to apply the intended effect in all folders I've tried
@evald24
@ChocoTonic I need more information to understand the problem. You can open the Help
> Toggle Developer Tools
menu in VS Code. Then run the "Select and apply profile" command and send me logs with errors
I'm sorry I didn't answer right away, I have a lot of work right now
@evald24 how can I see the errors when I apply the profile? the entire text editor restarts and I can't see the errors from that extension on Startup
update: it works successfully now somehow 🤗 maybe it required a complete system reboot on Windows but it works as expected now
Error: Cannot find module 'C:\Users\wwwjr.vscode\extensions.cf367116-acd8-4490-9889-cc371262f836\package.json'Require stack:- c:\Users\wwwjr.vscode\extensions\evald24.vscode-extension-profiles-1.1.3\out\utils.js- c:\Users\wwwjr.vscode\extensions\evald24.vscode-extension-profiles-1.1.3\out\commands.js- c:\Users\wwwjr.vscode\extensions\evald24.vscode-extension-profiles-1.1.3\out\extension.js- c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js- c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-amd.js- c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-fork.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:987:15) at Module._load (node:internal/modules/cjs/loader:832:27) at Function.c._load (node:electron/js2c/asar_bundle:5:13343) at Function.s._load (c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:32307) at Function.E.load (c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:28750) at Function.._load (c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:97:61719) at Module.require (node:internal/modules/cjs/loader:1059:19) at h (c:\Users\wwwjr\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js:4:699) at c:\Users\wwwjr.vscode\extensions\evald24.vscode-extension-profiles-1.1.3\out\utils.js:219:32 at Generator.next (
I also have the same problem, switching to a profile doesn't do anything. I tried reinstalling the extension and VS Code but nothing. I am on Fedora 36.
More detailed #34
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!