improved extension_installer.py and renamed it to extension_manager.py
This commit is contained in:
parent
b9fffd3c96
commit
107a9387bd
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -49,6 +49,7 @@
|
||||
"davidanson",
|
||||
"dbus",
|
||||
"dearrow",
|
||||
"debugpy",
|
||||
"devicemap",
|
||||
"dialout",
|
||||
"direnv",
|
||||
@ -127,6 +128,7 @@
|
||||
"mousewheel",
|
||||
"mpris",
|
||||
"msbc",
|
||||
"mtxr",
|
||||
"ncdu",
|
||||
"nemo",
|
||||
"neofetch",
|
||||
@ -210,6 +212,7 @@
|
||||
"sonarr",
|
||||
"sponsorblock",
|
||||
"spotifyd",
|
||||
"sqltools",
|
||||
"sshconfig",
|
||||
"subresource",
|
||||
"substituters",
|
||||
|
@ -1,26 +1,34 @@
|
||||
from subprocess import run
|
||||
|
||||
|
||||
def get_installed_extensions():
|
||||
process = run("code --list-extensions".split(), check=True, capture_output=True)
|
||||
return set(process.stdout.decode("utf-8").strip().split("\n"))
|
||||
|
||||
|
||||
def main():
|
||||
extensions = (
|
||||
print("starting vscode extension manager")
|
||||
|
||||
extensions = {
|
||||
# vscode
|
||||
"ms-azuretools.vscode-docker",
|
||||
"ms-vscode-remote.remote-containers",
|
||||
"ms-vscode-remote.remote-ssh-edit",
|
||||
"ms-vscode-remote.remote-ssh",
|
||||
"ms-vscode.hexeditor",
|
||||
"ms-vscode.remote-explorer",
|
||||
"ms-vsliveshare.vsliveshare",
|
||||
"oderwat.indent-rainbow",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"supermaven.supermaven",
|
||||
"usernamehw.errorlens",
|
||||
# git
|
||||
"codezombiech.gitignore",
|
||||
"eamodio.gitlens",
|
||||
"GitHub.vscode-github-actions",
|
||||
"gitHub.vscode-github-actions",
|
||||
# python
|
||||
"charliermarsh.ruff",
|
||||
"ms-python.python",
|
||||
"ms-python.vscode-pylance",
|
||||
"ms-python.debugpy",
|
||||
# rust
|
||||
"rust-lang.rust-analyzer",
|
||||
# MD
|
||||
@ -34,14 +42,27 @@ def main():
|
||||
"foxundermoon.shell-format",
|
||||
# nix
|
||||
"jnoortheen.nix-ide",
|
||||
# database
|
||||
"mtxr.sqltools-driver-pg",
|
||||
"mtxr.sqltools",
|
||||
# other
|
||||
"esbenp.prettier-vscode",
|
||||
"mechatroner.rainbow-csv",
|
||||
)
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"supermaven.supermaven",
|
||||
}
|
||||
|
||||
for extension in extensions:
|
||||
installed_extensions = get_installed_extensions()
|
||||
|
||||
missing_extensions = extensions.difference(installed_extensions)
|
||||
for extension in missing_extensions:
|
||||
run(f"code --install-extension {extension} --force".split(), check=True)
|
||||
|
||||
if extra_extensions := installed_extensions.difference(extensions):
|
||||
print(f"Extra extensions installed: {extra_extensions}")
|
||||
|
||||
print("vscode extension manager finished")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
x
Reference in New Issue
Block a user