Skip to content

Instantly share code, notes, and snippets.

@zachhardesty7
Last active May 23, 2023 14:40
Show Gist options
  • Save zachhardesty7/dd3710ff0d062abcd81169319d66907b to your computer and use it in GitHub Desktop.
Save zachhardesty7/dd3710ff0d062abcd81169319d66907b to your computer and use it in GitHub Desktop.
parse VSCode `.code-profile` for enabled extensions
// run like this:
// node ./parse-vscode-profile.js "$HOME"/Downloads/profile.code-profile
const fs = require("fs")
const file = fs.openSync(process.argv[2], "r")
for (const line of fs.readFileSync(file, "utf8").split("\n")) {
const extensions = JSON.parse(JSON.parse(line).extensions)
const enabledExtensions = extensions.filter((extension) => !extension.disabled)
const disabledExtensions = extensions.filter((extension) => extension.disabled)
const enabledExtensionIds = enabledExtensions.map(
(extension) => extension.identifier.id,
)
const disabledExtensionIds = disabledExtensions.map(
(extension) => extension.identifier.id,
)
console.log("Enabled extensions:")
enabledExtensionIds.forEach((extensionId) => console.log(extensionId))
console.log()
console.log()
console.log("Disabled extensions:")
disabledExtensionIds.forEach((extensionId) => console.log(extensionId))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment