LINUX.ORG.RU

Для тех кто мечтал поставить сразу все расширения для VSCode

 ,


0

1

Написал такой вот скриптик:

#!/usr/bin/env python
# Запрос тут подсмотрел
# https://marketplace.visualstudio.com/search?target=VSCode&category=All%20categories&sortBy=Downloads
import argparse, json, requests
if __name__ == '__main__':
  parser = argparse.ArgumentParser()
  parser.add_argument('-n', help='Number of pages', default=1, type=int)
  args = parser.parse_args()
  raw = r'''{"assetTypes":["Microsoft.VisualStudio.Services.Icons.Default","Microsoft.VisualStudio.Services.Icons.Branding","Microsoft.VisualStudio.Services.Icons.Small"],"filters":[{"criteria":[{"filterType":8,"value":"Microsoft.VisualStudio.Code"},{"filterType":10,"value":"target:\"Microsoft.VisualStudio.Code\" "},{"filterType":12,"value":"37888"}],"direction":2,"pageSize":54,"pageNumber":1,"sortBy":4,"sortOrder":0,"pagingToken":null}],"flags":870}'''
  payload = json.loads(raw)
  extensions = []
  for i in range(1, args.n + 1):
    payload_ = payload.copy()
    payload_['pageNumber'] = i
    r = requests.post('https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery', json=payload_, headers={'Accept': 'application/json;api-version=5.1-preview.1;excludeUrls=true'})
    data = r.json()
    for extension in data['results'][0]['extensions']:
      name = '.'.join((extension['publisher']['publisherName'], extension['extensionName']))
      extensions += [name]
  cmd = 'code ' + ' '.join(map(lambda x: '--install-extension ' + x, extensions))
  print(cmd)
./gen_code_install.py -n 2 | bash

Параметр n - это сколько страниц с популярными расширениями нужно поставить. Api сайта отдает не более 54 расширений на страницу (проверял). Мне хватило трех страниц. Предыстория такова: vscode в базовой поставке не лучше любого текстового редактора и пока не поставишь штук 50 расширений он конфеткой не станет. Ненужное проще отключить чем совершить пару сотен переходов на страницы с разворачиванием редактора и выполнением команд.

На гитхабе лежит тут.

★★

Последнее исправление: tz4678 (всего исправлений: 2)
Ответ на: комментарий от roof

ну если по минимуму, то мне нужна анаконда, подсветка круглых скобок и vetur... но там куча расширений типа раскраски csv-файлов, красивых тем... а потом тебе потребуетая исходники на си править, потом тебе яву, перл приволокут или богомерзкую lua. их все в итоге приходится ставить. у меня на рабочем компе их штук 70 стоит. получается что проще первые две страницы поставить

tz4678 ★★
() автор топика
Ответ на: комментарий от tz4678

Удаление всех расширений:

echo code $(printf " --uninstall-extension %s" `code --list-extensions`) | bash
tz4678 ★★
() автор топика
Ответ на: комментарий от tz4678

потом тебе потребуетая исходники на си править, потом тебе яву, перл приволокут или богомерзкую lua.

немедленно вспомнил анекдот:

Учись, а то будешь всю жизнь ключи подавать!

Turbid ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.