Vscode: Предоставление поддержки для синхронизации настроек между компьютерами

Созданный на 5 февр. 2016  ·  129Комментарии  ·  Источник: microsoft/vscode

Есть несколько расширений для управления синхронизацией настроек между несколькими компьютерами. И, на мой взгляд, они очень важны: поскольку vscode очень настраиваемый с помощью настроек, сочетаний клавиш и расширений, очень сложно синхронизировать эти вещи между несколькими рабочими станциями. И все эти расширения не совсем чистые решения, потому что vscode почти ничего не делает для их поддержки (например, пути, которые использует vscode, не раскрываются, см. #2741).

Итак, вот несколько идей, как сделать синхронизацию чистой и расширяемой:

  • добавить точку вклада для расширений синхронизации

    • Эти расширения не должны собирать все файлы, которые необходимо синхронизировать. vscode должен сделать это, а затем передать их расширениям

    • Работа такого расширения заключается только в загрузке/выгрузке переданных им файлов (чтобы мы могли иметь gist upload / svn upload / git repo upload / dropbox / filesystem / onedrive / ftp / other services .

    • Или, может быть, собрать все настройки в один большой объект json и передать его.

    • Поддержка версий и неверсионных расширений

  • добавьте remote_settings.json для сборки поверх стека workspace-settings/user-settings.
  • разрешить автоматическую и инициируемую пользователем синхронизацию

Ладно... просто идеи :smile:

config plan-item settings-sync

Самый полезный комментарий

Предложение по дизайну синхронизации настроек:

Мы планируем настроить синхронизацию настроек внутри VS Code следующим образом:

  • VS Code предоставит пользовательский интерфейс и функцию для синхронизации настроек, сочетаний клавиш, расширений и фрагментов кода.
  • VS Code взаимодействует с конечной точкой службы для чтения и записи данных.

Конечная точка службы синхронизации настроек VS Code

  • Предоставляет ReST API для чтения и записи данных (бэкенд)
  • Предоставляет механизм аутентификации для входа пользователей.

Все 129 Комментарий

Связано: https://github.com/Microsoft/vscode/issues/679

Это мое решение для синхронизации сочетаний клавиш и настроек в Linux и Windows, если вам интересно. Я еще не слишком глубоко изучал это с расширениями, но некоторое время назад я сделал файл https://github.com/Microsoft/vscode/issues/691 , чтобы помочь с этим.

Плагин Sync Settings for Atom использует GitHub Gist для резервного копирования/синхронизации:

  • Настройки
  • Пакеты
  • раскладка
  • _(Стили)_
  • _(В этом)_
  • Фрагменты

Atom также поддерживает пометку пакетов непосредственно в Github, а затем легко устанавливает их с помощью apm stars --user thedaniel --install .

Имо, это довольно низкий приоритет, потому что в большинстве случаев настройки перезаписываются настройками рабочей области, которые в любом случае синхронизируются с контролем версий.

Однако расширения @felixfbecker — это одна из тех вещей, которые не контролируются версиями. Также нет раскладки.

@csholmq Это отдельная проблема. Например, может быть .vscode/extensions.json , указывающий, какие расширения должны быть установлены для этого проекта, такие как editorconfig или конкретный адаптер отладки, с ограничением версии semver, таким как package.json.

Это не связано с исходным запросом API, поднятым в этой проблеме, но есть расширение синхронизации, использующее Gists. https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

@egamma Именно та функциональность, которую я искал. Но, как упомянул @felixfbecker , возможно, это отдельная проблема.

Также может быть неплохо установить расширение один раз на одном компьютере, а другие ваши компьютеры будут запрашивать или автоматически устанавливать то же расширение на всех остальных.

У Atom был онлайн-браузер пакетов со «звездами», и была команда, которую вы могли запустить, чтобы установить все, что вы отметили звездочкой. Еще не автоматический, но это было начало.

Я знаю, что другие могут возражать, но лично у меня нет проблем с необходимостью входа в VSCode с моей учетной записью Microsoft один раз на каждой машине, если это обеспечивает такой уровень удобства. Возможно, можно было бы предложить структуру синхронизации или что-то в этом роде, чтобы специфичные для провайдера расширения могли реализовывать аутентификацию и сохранение в облаке (например, одно для Microsoft, одно для Google Диска, Dropbox и т. д.).

Некоторое время назад я написал расширение ( здесь оно также давно не обновлялось ), которое пыталось помочь синхронизировать расширения между компьютерами с помощью служб синхронизации файлов. Первоначально я поддерживал только темы синхронизации, потому что синхронизация расширений казалась несколько запутанной.

Я думаю, что это должен быть правильный способ поддерживать расширения между компьютерами. Сохраняйте список того, какие расширения и где установлены, имейте возможность выбирать, какие расширения должны быть установлены на каком компьютере, а затем управлять настройками синхронизации только для этих расширений. Я предполагаю, что рекомендуемый способ управления настройками для расширений — это ?

https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync очень хорошо синхронизирует расширения

Полностью согласен с вами, добавьте функции - учетная запись и синхронизация, обработка синхронизации настроек и синхронизация расширений (отметьте расширения как принадлежащие), что значительно упростит установку и синхронизацию кода VS между несколькими компьютерами.
Другие расширения, которые синхронизируют расширения: https://marketplace.visualstudio.com/items?itemName=golf1052.code-sync .

Следует рассмотреть дополнение к этой идее. Отделение глобальных расширений и настроек от специфических для проекта. То же, что и глобальные пакеты npm из зависимостей проектов.

@felixfbecker , это хорошее решение, но почему Shift + Alt + U не отвечает? Моя компьютерная система — Mac, а версия vscode — 1.18.0. Большое тебе спасибо.

@chenxiaochun конфликтует с другими горячими клавишами на вашем компьютере, может быть, системными горячими клавишами, но в основном это похоже на конфликты с горячими клавишами приложения, которое вы установили на свой собственный Mac. Ctrl + Shift + P (показать всю команду, у меня Windows, вы можете проверить ее на Mac), исключить синхронизацию, выбрав команду в списке. другой метод, вы можете изменить горячую клавишу в vscode или найти приложение и изменить горячую клавишу.

Мне нужны расширения, которые я установил. У меня около 30 расширений, как я могу экспортировать их на несколько компьютеров?

поскольку в vscode нет официальной реализации такой функции - я использую расширение под названием «синхронизация настроек», которое синхронизирует настройки и расширения.

до сих пор нет поддержки для этого? :/
Я бы хотел, чтобы настройки/расширения VS Code автоматически синхронизировались с моей учетной записью Microsoft.

Я думаю, что этому следует уделять больше внимания. У многих пользователей есть несколько компьютеров или двойная загрузка или настройка vscode на рабочем компьютере и домашнем компьютере.

Правда, сейчас это должно быть обязательной функцией в таких приложениях.

Еще один голос за это.

голосовать за

Я не хочу видеть еще один комментарий "за". Вместо этого проголосуйте за исходный выпуск. Пожалуйста, не засоряйте обсуждение комментариями.

Я надеялся, что что-то подобное будет доступно прямо сейчас, поскольку я делал резервную копию своих несинхронизированных материалов, готовясь к формату. Даже если синхронизации нет, должно быть хотя бы что-то для экспорта всего профиля , что я могу импортировать позже после форматирования или на другой компьютер. Мое текущее решение:

  • code --list-extensions , чтобы получить список расширений, вставьте его в .txt в синхронизируемой папке.
  • Скопируйте и вставьте пользовательские настройки JSON в файл .txt в синхронизируемой папке.
  • Скопируйте и вставьте привязки клавиш JSON в файл .txt в синхронизируемой папке.

Не то чтобы очень плохо, но все же неаккуратно. Во-первых, я не уверен на 100%, что сделал резервную копию всего, что касается VScode.

Редактировать: заметил, что я пропустил один, к счастью, до того, как начал форматирование. Добавил третий пункт в список.

Почему бы просто не связать два каталога, содержащих расширения настроек и т. Д., С Dropbox? Я делал это с атомом в течение многих лет без проблем. Есть ли причина, по которой это не удастся с vscode?

Расширения @backspaces могут иметь внутри собственные модули, поэтому совместное использование расширений между Linux и Windows (например) может не работать.
Лучше поделиться только списком идентификаторов расширений (а не самими расширениями), чтобы Код (или что-то еще) мог их установить.

Кроме того, было бы намного лучше, если бы вы просто вошли в VSCode и просто установили несколько флажков, когда он предложит вам: «Пожалуйста, проверьте, что вы хотите импортировать/синхронизировать:»

[x] extensions
[x] themes
[x] settings

Согласованный! :)

Пожалуйста, сделай так, чтобы это произошло. Сегодня у нас есть расширение синхронизации настроек, но его очень сложно настроить с помощью gist и так далее. Что-то интегрированное в VScode из коробки было бы намного лучше, и мы могли бы извлечь из этого пользу, не беспокоясь об установке правильного расширения.

@antoninadert хорошо сказал

Пожалуйста, используйте кнопку "палец вверх", если вы согласны с комментарием/вопросом. Большинство из нас подписываются на выпуски, чтобы получать уведомления о прогрессе и объявлениях, а получение электронных писем с комментариями в лучшем случае раздражает.

Было бы неплохо узнать, есть ли это в планах Microsoft. Я предполагаю, что это сложно, потому что это будет означать включение некоторого проприетарного кода, и сообщество разработчиков открытого исходного кода облажается, когда часть кода станет недоступной. Но, возможно, это не так, и MS может включить его с помощью открытого кода. В любом случае, обновление этой столь востребованной функции было бы неплохо.

Существующие в настоящее время решения (например, Settings Sync, CodeSync) плохо работают при удалении расширений из-за этой проблемы: https://github.com/Microsoft/vscode/issues/14444 .
Я полагаю, что если это будет исправлено, решения сообщества будут менее глючными, но все же запутанными.

Кто-нибудь знает, есть ли у MS дорожная карта для кода?

Неважно, я нашел это: https://github.com/Microsoft/vscode/wiki/Roadmap

И, похоже, ничего общего с настройками синхронизации не упоминается. Скрестим пальцы на следующий год. Однако все мы помним коричневый логотип; возможно, при достаточном количестве голосов они займутся этим вопросом раньше.

Ранее я упоминал решение Dropbox и согласен, что есть причины против него.

НО: если предположить, что два компьютера, которые я синхронизирую, являются Mac с одной и той же версией ОС, есть ли какая-то причина не использовать подход Dropbox?

И я заметил, что в коде cli даже есть способ изменить папку расширения, чтобы она могла быть прямо в дропбоксе без символических ссылок.

Как автор «Синхронизации настроек», я согласен с фактическим сообщением в этой теме.

Вместо того, чтобы предоставлять комплексное решение для синхронизации самой Microsoft.
Было бы здорово предоставить способы, позволяющие расширениям получать необходимую информацию.

Например:

  1. Разрешить авторам расширений читать любые файлы в каталоге User . Они успеют сами сделать обертку либо с помощью GitHub, Google Drive, OneDrive, GitLab и т. д.
  2. Создайте более настраиваемый API, чтобы разрешить события в определенных точках, например, в настоящее время в Settings Sync отсутствует автоматическая загрузка при загрузке любого расширения. Я открыл вопрос и получил более 800 голосов https://github.com/Microsoft/vscode/issues/14444 , но он все еще находится на рассмотрении.
  3. Разрешить авторам расширений включать/отключать расширения — https://github.com/Microsoft/vscode/issues/15466 и https://github.com/Microsoft/vscode/issues/37620.

PS Я всегда стремлюсь улучшить синхронизацию настроек — не стесняйтесь обсуждать и присылать мне PR или улучшать общедоступную вики.

52739 мой запрос. Несмотря на то, что он помечен как дубликат (я согласен с этим), я думаю, важно отметить, что основное различие между этим запросом и моим заключается в том, что этот требует лучшей поддержки расширений (лучше), в то время как я выступаю за встроенную поддержку ( best), как это делается в Visual Studio с 2013 года.

Я полностью согласен с @Chiramisu : нам не нужна лучшая поддержка расширений. Нам нужна встроенная синхронизация.

Синхронизирующее расширение сводит на нет цель синхронизации, добавляя много накладных расходов. Это текущий обходной путь, который у нас есть.

Как здорово было бы войти в Visual Studio и мгновенно загрузить свой профиль, проекты, расширения, настройки? на любой машине (личной, рабочей).

Это то, что Google делает с Chrome: они автоматически синхронизируют расширения, учетные данные, избранное... когда вы входите в систему.
Это убийственная функция, если вы спросите меня.

@antoninadert Я бы предпочел, чтобы VSCode предоставлял API-интерфейсы для расширений для синхронизации, и уверен, что один из них может быть от самой Microsoft с использованием OneDrive или GitHub. Я просто не вижу причин, по которым должна быть встроенная синхронизация в пользу одного облачного провайдера.

@gandalfsaxe По той очевидной причине, что вы можете установить его при новой установке Visual Studio, на каждой машине и без какой-либо настройки.

Если эти преимущества не говорят вам, я ничего не знаю...

@antoninadert Я, конечно, не стал бы возражать, если бы они это сделали, и я бы счел это лучше, чем ничего, но я все же предпочел бы путь API/расширения по двум тесно связанным причинам:

  1. Если они сделают это встроенным, мы также можем не получить расширение API для него, поэтому можем на какое-то время застрять со встроенным решением без альтернатив. В принципе, это может быть проблемой безопасности для разных компаний, если единственным вариантом будет OneDrive или GitHub.
  2. Не отдавать предпочтение одному облачному хранилищу/решению перед другим. Однако не возражал бы против хорошо поддерживаемого расширения, разработанного Microsoft.

Но если они предоставляют как встроенные функции, так и API для других расширений для одновременной синхронизации, это тоже было бы здорово.

Я все еще думаю, что синхронизация API - это путь. И да, как предложил @gandalfsaxe , хорошо поддерживаемое расширение синхронизации, разработанное Microsoft, тоже было бы неплохо. Я также не возражал бы против того, чтобы это расширение было предустановлено. Это был бы идеальный компромисс между удобством и расширяемостью.

Хотя мне было бы странно начинать с предустановленных расширений. Я думаю, что VSCode по-прежнему должен поставляться с нулевыми расширениями из коробки. Если это важно/достаточно универсально, это должно быть встроено. В противном случае он должен быть на рынке, как и все остальное. Было бы странно иметь одно расширение синхронизации в качестве единственного исключения 🙂

Но если они предоставляют как встроенные функции, так и API для других расширений для одновременной синхронизации, это тоже было бы здорово.

Я также думаю, что это было бы идеальным решением, поэтому, если у кого-то есть решение лучше, чем нативное, он может его использовать.

Но если вы спросите меня, наличие встроенного ПО по-прежнему является наиболее важным вариантом.

@gandalfsaxe

  1. Если они сделают это встроенным, мы также можем не получить расширение API для него, поэтому можем на какое-то время застрять со встроенным решением без альтернатив. В принципе, это может быть проблемой безопасности для разных компаний, если единственным вариантом будет OneDrive или GitHub.

Встроенный не означает, что OneDrove самоуверен. Он должен предлагать варианты.

  1. Не отдавать предпочтение одному облачному хранилищу/решению перед другим. Однако не возражал бы против хорошо поддерживаемого расширения, разработанного Microsoft.

Я думаю, что гораздо важнее иметь следующий поток: 1) установить VSCode; 2) Войти; 3) вот и все
Поэтому должно быть встроенное решение.

@MrCroft Конечно, было бы здорово, если бы команда VSCode могла отдать приоритет встроенной поддержке 3-10 облачных сервисов. Мое предложение было основано на моем предположении, что команда VSCode не считает эту проблему особо приоритетной.

На мой взгляд, решение можно было бы сделать в два этапа:

  1. Решение прямо сейчас: предоставьте доступ к соответствующим API, чтобы расширение могло синхронизировать все необходимые данные с помощью произвольного облачного сервиса.

  2. Долгосрочное решение: 1) установить VSCode; 2) Войдите в систему.

Хотя я был бы рад любому решению. Использование мультиплатформы VSCode сейчас немного громоздко.

@gandalfsaxe Я полностью понимаю вашу точку зрения (и точку зрения других) в отношении аргумента API и во многом согласен. В любом случае, лично я бы предпочел вариант с Microsoft, поскольку я синхронизируюсь со своей учетной записью Microsoft и, следовательно, доверяю им эти данные. Тем не менее, я за людей, у которых есть выбор. Пусть лучшее расширение победит.

Синхронизация сред является для меня существенной добавленной стоимостью, потому что у меня установлены как VSCode, так и VSCode Insiders не менее чем на двух устройствах и всего 3-4 среды, включая локальные виртуальные машины (Windows и Linux).

Я попытался использовать многообещающее расширение Setting Sync от Shan Khan, но оно не совместимо с портативной версией VSCode. Почему нет? Я думаю, потому что он ждет, пока VSCode предоставит API для раскрытия путей к файлам, чтобы он мог делать это безопаснее, и ему не нужно жестко кодировать различные пути.

В настоящее время нет идентификатора для расширения, чтобы знать, что код работает в переносном режиме.
Для поддержки переносимого режима программе Settings Sync необходимо знать, запущен ли на ней код ( https://github.com/Microsoft/vscode/issues/54824 ), и различные пути, даже измененные пользователем ( https://github.com/ Microsoft/vscode/issues/2741 ), как упоминал @GandalfSaxe .

@shanalikhan Может ли ручное переключение между переносимым/непереносимым решением быть временным временным решением?

пожалуйста, интегрируйтесь с учетной записью Microsoft или/и github, чтобы синхронизировать все материалы. :)

s2 Vscode! лучший ide когда-либо сделанный!

Если vscode интегрируется с учетными записями Microsoft или Github, могут быть улучшения в средстве просмотра расширений, такие как возможность просмотра расширения из кода. Также может быть возможность сообщать о проблемах, которые автоматически генерируют информацию о расширении.

Поскольку Microsoft владеет Github, это также было бы выгодно, поскольку побуждало бы людей сохранять свои учетные записи Github. Превосходная интеграция с git действительно побудит людей отказаться от других текстовых редакторов и принять Code.

Я думаю, может быть, изменить представление настроек активности, чтобы оно действовало как менеджер учетных записей? В нем могут быть перечислены ваши уведомления, настройки учетной записи и многое другое. По сути, это просто заменит контекстное меню, создав более оптимизированный интерфейс.

Я бы предпочел, чтобы vscode искал папку .vscode в моем домашнем каталоге и загружал оттуда настройки, если они существуют. Это позволило бы мне решить, с какой службой я решу его синхронизировать и как это происходит полностью вне самого приложения. Если я хочу использовать git: я делаю .vscode репозиторием git, если я хочу использовать dropbox: я могу создать символическую ссылку и т. д.

Многие редакторы поддерживают точечные файлы от atom до vim и все промежуточные значения. Многие из этих инструментов даже ищут dotfiles в Windows, поэтому я не понимаю, почему здесь можно игнорировать этот шаблон.

@fishpen0 Как это будет работать в портативной версии?

Если по тому же пути, что и исполняемый файл, есть каталог .vscode , загрузите его с наивысшим приоритетом.

@fishpen0 Я думаю, это хорошая идея: использовать файл в .vscode, если он существует (возможно, добавить строку, чтобы определить приоритет: .vscode вместо синхронизации, .vscode с синхронизацией (попробуйте смешать), .sync вместо .vscode)
Так что у нас есть лучшее из обоих миров

Здесь есть отличные вещи.
Я был бы доволен файлом .vscode, содержащим всю информацию, которую я хотел бы "переносить"... таким образом, я могу сохранить эту папку в репозитории Git... немного изменив мой предпочтительный метод в # 56850 , но приемлемо.

Тогда это будет что-то вроде:

  1. Установить VSCode
  2. Клонируйте репозиторий .vscode Git в папку .vscode, которую ищет VSCode.
  3. Перезапустите VSCode, а затем посмотрите, как он возвращается со всеми моими настройками, установленными расширениями и связанными репозиториями Git.

Очень сложно настроить еще один экземпляр VSCode на другом компьютере. Слишком много расширений для переустановки, слишком много репозиториев Git для повторного клонирования, слишком много настроек для переделки.

Должна быть возможность, по крайней мере, экспортировать/импортировать список расширений, что должно быть достаточно легко реализовать.

Желание добавить настройки импорта и экспорта или загрузить настройки в учетную запись Microsoft.

Если интегрировать с учетной записью Microsoft, будет сложно. Возможно, это можно было бы реализовать сначала, как это делают профили браузера, разделяя все пользовательские настройки только в одной папке. Затем пользователь может создать, например, репозиторий git, чтобы синхронизировать его в других местах. Синхронизация — это то, что Git делает хорошо, и ее можно интегрировать с любой облачной системой, такой как Bitbucket, Gitlab и т. д.

Очень удивлен, что синхронизация учетных записей не была встроена прямо в код с первого дня. Кажется, это не проблема.

От @SrTobi

Итак, вот несколько идей, как сделать синхронизацию чистой и расширяемой:

  • добавить точку вклада для расширений синхронизации

ДА!!! Дает возможность быть красивым и чистым.

Я бы добавил одно соображение. Наследование настроек с переопределением в зависимости от источника настройки. Я не хочу, чтобы моя конфигурация была одинаковой для всех проектов. При работе в Vim обычно используются проектные конфигурации для макросов/сочетаний клавиш, хотя в этом отношении Vim очень похож на дикий запад, поэтому мне нравится ваша идея сделать это возможным через точку вклада. Eclipse допускает это также для всех видов настроек, хотя в eclipse это не очень чисто.

+1

Есть некоторые функции, для которых я бы не стал доверять никакому стороннему расширению. Синхронизация аккаунта определенно является одним из них!!

«Обычная» Visual Studio имеет эту функцию: вы входите в свою учетную запись Microsoft, и она синхронизирует настройки. Это было, по крайней мере, с Visual Studio 2015. Было бы здорово иметь это и в VS Code. Интересно, можно ли повторно использовать одну и ту же серверную систему?

Для этого есть расширение. https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

С точки зрения настройки новой машины это расширение вынуждает меня пройти процесс установки этого расширения и добавления ключей github в vscode, прежде чем я смогу синхронизировать свои настройки. В этот момент я мог бы просто вручную скопировать свои настройки из файла в Dropbox или что-то в любом случае.

Все, что мне нужно, это каталог, в который я могу поместить файлы настроек и плагины, в которые автоматически загружается vscode, чтобы я мог управлять им, используя любой инструмент или процесс, который захочу.

Я собираюсь повторить свое предложение использовать шаблон dotfile folder in my home directory , который также поддерживает каждый редактор, который я когда-либо использовал (vim, sublime, atom, jetbrains, emacs).

Я понимаю, что этот шаблон может быть запутанным или новым для людей, пришедших из среды Windows, но он очень эффективен для решения этой проблемы. Пожалуйста, взгляните на https://dotfiles.github.io/ , чтобы увидеть сотни примеров людей, использующих dotfiles для управления своими настройками между компьютерами и средами.

В любом случае вы смотрите на время выполнения конфигурации. Я не говорю, что «эта идея отстой», я просто хочу убедиться, что те, кто ищет эту функциональность, действительно знают, что она существует через расширение. Это может быть недостаточно для вас; им может быть достаточно.

Я бы предпочел просто войти в свою учетную запись MS и синхронизировать все, как Google Chrome все синхронизирует.


От: cmcit-bferg уведомления@github.com
Отправлено: среда, 3 апреля 2019 г., 22:04:23
Кому: Майкрософт/vscode
Копия: tjgruber; Комментарий
Тема: Re: [Microsoft/vscode] Поддержка синхронизации настроек между машинами (#2743)

В любом случае вы смотрите на время выполнения конфигурации. Я не говорю, что «эта идея отстой», я просто хочу убедиться, что те, кто ищет эту функциональность, действительно знают, что она существует через расширение. Это может быть недостаточно для вас; им может быть достаточно.


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2F2743%23issuecomment-479638007&data=02 % 7C01% 7C% 7C56f78e59d2884cb592d308d6b86f9245% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636899186661366632 & SData = ITS3% 2B7c1ZmJWka4q1yS3O% 2BfpoSl6sjCs7d4ERESn% 2F% 2ФК% 3D & зарезервирован = 0 , или приглушить нить https://eur02.safelinks.protection.outlook.com/?url= HTTPS% 3A% 2F% 2Fgithub.com% 2Fnotifications% 2Funsubscribe-AUTH% 2FAO2oZ6E6OqvvTlOgQKwld4j5RhDr9vtVks5vdQlHgaJpZM4HUeqZ & данные = 02% 7C01% 7C% 7C56f78e59d2884cb592d308d6b86f9245% 7C84df9e7fe9f640afb435aaaaaaaaaaaa% 7C1% 7C0% 7C636899186661376637 & SData = CQb0niUDYXXvo% 2BcstXiyu5zxZ3h% 2BHpFNV7% 2BGbiM3WAA% 3D & зарезервирован = 0 .

Я действительно надеюсь, что вы, ребята, можете поддержать вход в систему. когда я меняю свой компьютер, я должен переписать свою конфигурацию. Я ненавижу это.

Синхронизация настроек теперь предоставляет графический интерфейс для беспрепятственной интеграции и синхронизации ваших настроек, просто войдя в Github и выбрав GIST из списков Gist GUI.

Что вы, ребята, думаете об этом, как мы можем улучшить еще больше.

Для тех, кто продолжает настаивать на использовании расширения ТРЕТЬЕЙ СТОРОНЫ, я думаю, вы упускаете суть. Даже если API безопасен, даже если я просматриваю исходный код в фиксированный момент времени, чтобы убедиться, что ничего смешного не происходит, я вряд ли буду продолжать делать это бесконечно.

Поэтому для любой учетной записи, которая у меня есть в любой службе, я доверяю только этому провайдеру информацию, связанную с моей учетной записью. На самом деле, они также могут ошибаться, но я бы предпочел снизить этот риск, не вводя стороннее расширение в качестве еще одной переменной и потенциальной уязвимости безопасности. Когда дело доходит до безопасности,

Я всегда стараюсь принимать мудрые и обоснованные решения, и использование стороннего приложения для синхронизации данных в моей учетной записи было бы полной противоположностью.

Мне не нравится использовать какое-либо расширение для синхронизации всех моих настроек. Это должна быть встроенная функция Visual Code. Войдите в систему с помощью учетной записи GitHub или Microsoft и сохраните все данные, такие как:

  • Расширения
  • Настройки (Конфигурации)
    и так далее.

Я согласен. расширение действительно работает хорошо, однако кажется упущенной возможностью сделать его более удобным для пользователя, если все будет связано либо с Microsoft, либо с GitHub.

Вероятно, это одна из тех вещей, где Microsoft будет бесполезен! Некоторым разработчикам предстоит создать расширение для этого... вероятно, оно будет выполнено намного быстрее и качественнее.

Даже если это не синхронизация настроек, по крайней мере, надежный способ экспортировать все и импортировать их все. Я использую разные настройки и расширения в зависимости от того, связано ли это с компанией или лично, поэтому для меня экспорт/импорт будет лучше, чем синхронизация. Но оба были бы хороши!

Для тех, кто продолжает настаивать на использовании расширения ТРЕТЬЕЙ СТОРОНЫ, я думаю, вы упускаете суть. Даже если API безопасен, даже если я просматриваю исходный код в фиксированный момент времени, чтобы убедиться, что ничего смешного не происходит, я вряд ли буду продолжать делать это бесконечно.

Поэтому для любой учетной записи, которая у меня есть в любой службе, я доверяю только этому провайдеру информацию, связанную с моей учетной записью. На самом деле, они также могут ошибаться, но я бы предпочел снизить этот риск, не вводя стороннее расширение в качестве еще одной переменной и потенциальной уязвимости безопасности. Когда дело доходит до безопасности,

Я всегда стараюсь принимать мудрые и обоснованные решения, и использование стороннего приложения для синхронизации данных в моей учетной записи было бы полной противоположностью.

Именно то, что я думал. С трудом понимаю, почему в VSCode нет встроенного модуля синхронизации.

Я только что начал хранить свои настройки и список расширений в репозитории (со сценарием настройки рабочей станции):

https://gitlab.com/aztek-io/vscode-settings

Я полностью согласен, хотя было бы неплохо, чтобы vscode вел себя как Google Chrome, где вы просто входите в свою учетную запись, и все так, как вы настроили на множестве рабочих станций.

Почему бы кому-нибудь просто не написать расширение для автоматизации управления вашим
настройки в репозитории Git, делая коммиты и push/pull всякий раз, когда вы
изменить? VSCode поставляется (или, по крайней мере, предполагает наличие) каждый
инструмент, который вам понадобится для создания этого. Тогда кто-то может синхронизировать настройки где угодно
им нравится, частный или общедоступный, учетная запись Microsoft не требуется. Мы можем точно
в основном делаем это сами, но я недостаточно использую VSCode, чтобы знать, что делать
версию и что зависит от ОС/платформы. Итак, если кто-то может упаковать
это знание в расширении с именем что-то вроде
удобную для поиска Git Settings Sync, я был бы очень признателен. :)

это кажется достаточно простым, и я удивлен, что это еще не сделано. Мы
у вас нет API/разрешений, необходимых для этого в аддоне?

@ndarilek есть - он называется SettingsSync, но мы хотим, чтобы он был в приложении, а не в расширении.

Разве это не синхронизируется с сутью, которая а) общедоступна и б) специфична для GitHub?
Я помню, что это также требовало большого количества ручной настройки, хотя я
думаю, что, возможно, изменилось в последнее время.

У большинства из нас есть доступ к той или иной VCS, и даже к некоторым
механизм для размещения частного репо, даже если это через SSH на дешевом VPS.
Учитывая это, я не понимаю, зачем нам привязывать синхронизацию к Microsoft,
GitHub или даже конкретной VCS.

Я, вероятно, посмотрю на это, когда VSCode станет доступен в
Линукс. На данный момент я не пользователь VSCode, но не понимаю, почему это
не является жизнеспособным вариантом. Ничего против Microsoft, но настройки синхронизируются
не особенно сложно, и я предпочел бы сам разместить эти данные.

Всего несколько точек данных:
1- Гитхаб — это Майкрософт
2- VSCode на Linux
3- проблема со сторонними расширениями заключается в доверии, когда речь идет о большем
конфиденциальная информация, такая как логины, которые будут использоваться для хранения
необходимая информация.

В четверг, 12 сентября 2019 г., в 10:37, Нолан Дарилек, [email protected]
написал:

Разве это не синхронизируется с сутью, которая а) общедоступна и б) специфична для GitHub?
Я помню, что это также требовало большого количества ручной настройки, хотя я
думаю, что, возможно, изменилось в последнее время.

У большинства из нас есть доступ к той или иной VCS, и даже к некоторым
механизм для размещения частного репо, даже если это через SSH на дешевом VPS.
Учитывая это, я не понимаю, зачем нам привязывать синхронизацию к Microsoft,
GitHub или даже конкретной VCS.

Я, вероятно, посмотрю на это, когда VSCode станет доступен в
Линукс. На данный момент я не пользователь VSCode, но не понимаю, почему это
не является жизнеспособным вариантом. Ничего против Microsoft, но настройки синхронизируются
не особенно сложно, и я предпочел бы сам разместить эти данные.


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/microsoft/vscode/issues/2743?email_source=notifications&email_token=AAFNROZZY2TJGCV2GS7XBI3QJJH33A5CNFSM4B2R5KM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6SDL6#,3issment-5issment-5Q#
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AAFNRO547VFY2VLO6BH7WQLQJJH33ANCNFSM4B2R5KMQ
.

  1. Я знаю. Дело в том, что у нас есть возможность синхронизации со сторонними поставщиками.
    без участия внешних учетных записей/провайдеров, за исключением чего-то вроде
    минимальный, как доступ по SSH где-то. Microsoft или не Microsoft — это только
    учитывать, поскольку они являются поставщиком учетной записи. я бы чувствовал то же самое
    о привязке синхронизации к GitHub, как к GitLab, Google или Owncloud.
    И люди годами версионировали настройки редактора через Git, как и
    уже указывалось. Я просто подумал, как мы могли бы захватить это
    знаний в расширение, потому что прямо сейчас мне пришлось бы гуглить, как
    настроить что-то и сделать работу самостоятельно. Захват этого
    знания/процесс в расширение сэкономит время.

  2. Это может быть на Linux, но я слепой, и приложения Electron в основном
    недоступен в это время. Отсюда: «Я сейчас не работаю над этим, но
    было бы здорово, если бы кто-то еще мог "проворчать" - я использую только VSCode
    в виртуальных машинах Windows для определенных задач, а задержка убивает его всего за
    ни о чем другом. Доступность Electron / Chromium приближается, но IIRC
    Microsoft немного изменила Electron. Если это правда, надеюсь,
    форк может извлечь выгоду из текущей работы восходящего потока, происходящей в
    Хром/хром.

  3. Справедливое замечание, хотя, если проблема в недоверии к расширению
    механизма, то зачем беспокоиться о векторах атак, связанных с синхронизацией?
    Как насчет эксфильтрации кода или других файлов буквально любым другим способом?
    расширение вы установили? Или если вы беспокоитесь о настройках
    в частности, не мог бы я написать расширение, не связанное с настройками, которое
    загрузил свои настройки на свой сервер? Настоящий не троллинг
    вопрос - я не знаю, как работает механизм расширения, но я не
    думаете, что это песочница что-нибудь, не так ли?

Спасибо.

К вашему сведению, @ndarilek Settings Sync может синхронизироваться с частной сущностью, вам просто нужно предоставить ему токен доступа. Это просто в использовании. Но ваши опасения по поводу доверия обоснованы, и было бы идеально, если бы vscode добавил свою собственную функцию синхронизации федеративных настроек.

Предложение по дизайну синхронизации настроек:

Мы планируем настроить синхронизацию настроек внутри VS Code следующим образом:

  • VS Code предоставит пользовательский интерфейс и функцию для синхронизации настроек, сочетаний клавиш, расширений и фрагментов кода.
  • VS Code взаимодействует с конечной точкой службы для чтения и записи данных.

Конечная точка службы синхронизации настроек VS Code

  • Предоставляет ReST API для чтения и записи данных (бэкенд)
  • Предоставляет механизм аутентификации для входа пользователей.

Камино скопировал эту проблему в ChaseKnowlden/vscode.

@ sandy081 Sandy081 будет ли дизайнерское предложение поддерживать синхронизацию с учетной записью Microsoft и с нее?

Привет, команда VSCode,

Поскольку это будет актуально, я хотел бы предложить, чтобы Azure AD и личные учетные записи Microsoft имели возможность аутентификации.
Другие поставщики OAuth также приветствуются (например, Google, GitHub и т. д.).

Спасибо!

@nmoinvaz @elliot-labs см. https://github.com/microsoft/vscode/issues/84332#issuecomment -579016636

Возможно, вы могли бы даже синхронизировать эти настройки с Visual Studio Online! Мои 2 цента :-)

Я только что видел предварительный просмотр и хотел указать, что фрагменты синхронизации также должны быть включены.

Синхронизация фрагментов и глобального состояния запланирована на мартовский этап — https://github.com/microsoft/vscode/issues/86678 .

Все, как вы знаете из нашего последнего релиза, функция синхронизации настроек доступна для инсайдеров. Поэтому, пожалуйста, попробуйте эту функцию с помощью наших инсайдеров и предоставьте нам отзыв - https://code.visualstudio.com/insiders/

<3 Желаю, чтобы эти функции стали стабильными

Прежде чем тратить время на создание расширения, которое все синхронизирует, я думаю, было бы полезнее потратить некоторое время на то, чтобы определить, какие файлы .gitignore лучше всего включать по умолчанию в папки VS Code, тогда люди смогут начать инициализация репозиториев git и уверенная фиксация.

Прямо сейчас я в основном коммичу все в своей папке ~/.vscode , включая расширения и кеши, потому что, честно говоря, я не знаю, что не коммитить.

Мы не должны фиксировать все расширения. В качестве примера, как упомянул @felixfbecker , было бы здорово, если бы в пользовательской папке VS Code был файл extensions.json , чтобы мы могли зафиксировать его вместо фиксации всех расширений. При наличии этого команда VS Code просто должна выпустить хороший файл .gitignore (который игнорирует расширения, но не extensions.json и т. д.), и тогда все мы будем веселиться.

После того, как этот базовый элемент управления версиями будет готов, будет намного проще создавать над ним «синхронизирующие» расширения.

@ sandy081 Sandy081 Позволяет ли это синхронизировать настройки с github для людей, у которых нет учетной записи MS?

Вы также можете использовать свою учетную запись GitHub для входа в систему, но она будет синхронизировать данные с серверной частью MS Azure. См. документ здесь - https://code.visualstudio.com/docs/editor/settings-sync#_enabling -settings-sync

@ sandy081 По-прежнему нужна учетная запись Azure или Outlook.

Разве мы не можем просто использовать gist так же, как settings-sync ? поэтому пользователям не нужно создавать новые учетные записи.

Разве мы не можем просто использовать gist так же, как settings-sync? поэтому пользователям не нужно создавать новые учетные записи.

Нет. Частные Gists не указаны в списке, но общедоступны, если вы можете угадать URL-адрес. Это опасно. Не хотелось бы, чтобы какие-либо настройки или токены, связанные с учетными данными, были случайно переданы в суть.

Было бы удобно использовать учетную запись Github, без MS Azure.

Хотя я ценю эту функцию, я, честно говоря, не заинтересован в создании учетной записи MS или использовании GitHub gists для синхронизации моих настроек, расширений и т. д. VSCode.

Я всегда сохранял свою конфигурацию для Sublime Text и Atom с обновленными версиями и полностью синхронизировал их с Git в своих файлах точек. Хотя я уже делаю это для VSCode, я не нашел способа также синхронизировать расширения. В Atom я использовал package-sync . Это позволило мне сохранить список расширений в файле packages.cson . IIRC, Sublime Text сделал что-то подобное из коробки.

Я был бы рад увидеть что-то подобное, встроенное в VSCode, так как это кажется мне самым разумным подходом. Но, если эта функция вряд ли будет встроена, может быть, есть расширение, которое делает это и ускользнуло от моих навыков Google-фу?

Личное содержание отлично работает для меня, использующего аддон Settings Sync от Shan Khan, а также для более чем 1,5 миллиона других людей. ИМХО этого вполне достаточно, больше ничего не надо.

@OmeGak Мой скрипт для синхронизации расширений через bash/dotfiles:

https://github.com/ithinkihaveacat/dotfiles/blob/8a3c9b2cc0e88bcdc6d8c3e3faf47c6f3cc11d1c/update#L390 -L399

Не самый простой в использовании подход, но мне он подходит. (И не требует от меня создания учетной записи.)

Опять же, я говорю, что нам нужен способ синхронизации настроек без учетной записи MS (используя уже существующую учетную запись GH).

Я поддерживаю вариант синхронизации с первой стороной. Я использовал синхронизацию настроек от Shan Khan, и, хотя это приятно, я недавно обнаружил две проблемы.

  1. Частные списки не блокируются аутентификацией. Если кто-то угадает ваш хэш gist, он увидит вашу информацию.
  2. Расширение недавно начало удалять встроенное расширение TypeScript из моего VSCode, и мне пришлось отключить параметр удаления расширений, чтобы это исправить. Это вызвало у меня перерыв в работе на пару часов.

Будет ли эта функция доступна в vscode OSS?
Я использую систему Linux на основе musl и FreeBSD, и у обоих нет официального выпуска Electron.

ИМХО лучший способ синхронизации настроек через репозиторий git
пример: Репозиторий настроек от JetBrains
Выгоды

  • Новые учетные записи не требуются, можно использовать любой сервис git (GitHub, Bitbucket, GitLab), который уже есть у большинства разработчиков.
  • Можно сохранить настройки в тайне, используя частный репозиторий

Если конфиденциальность является проблемой, то все, что ей действительно нужно, — это функция экспорта/импорта (которая действительно должна быть предоставлена, когда она входит в стабильную версию),
так как ему не нужно хранить вещи на внешнем месте. (который будет включать git, если вы будете использовать удаленный сервер)

Но если я хочу, чтобы все было синхронизировано, я бы предпочел, чтобы это было в первую очередь через компанию, которая создает приложение.
если я не доверяю этому (по крайней мере, до некоторой степени), то зачем мне вообще рассматривать возможность использования их приложения?

Не говоря уже о том, что MS уже владеет github, поэтому на самом деле не имеет значения, используете ли вы учетную запись MS или учетную запись github. (с gists, как уже упоминалось, довольно небезопасно, поэтому я еще не использовал его и с нетерпением жду, когда эта будущая функция станет стабильной)

Как сказал @neico , также разрешите пользователям экспортировать, импортировать свои настройки в виде zip-файла.

Я бы рекомендовал создавать отдельные задачи для отдельных требований. В противном случае они могут остаться незамеченными. Так что, пожалуйста, создавайте отдельные темы для ваших пожеланий.

Было бы удобно использовать учетную запись Github, без MS Azure.

Для разработчиков в Китае это не удобно.

Было бы удобно использовать учетную запись Github, без MS Azure.

Для разработчиков в Китае это не удобно.

Почему? Я могу использовать GitHub в Китае, и он кажется более стабильным, чем MS Azure.

@ sandy081 Открыл отдельные вопросы для

Использование учетной записи Github удобно, если у вас нет MS Azure.

Это не удобно для китайских разработчиков.

Почему? Я могу использовать GitHub в Китае, и он кажется более стабильным, чем MS Azure.

Это будет медленнее в некоторые особые времена
MS Azure должно быть достаточно

Я начал использовать синхронизацию настроек от vscode-insiders. Но я сразу столкнулся с проблемой. Когда я пытаюсь синхронизировать настройки vscode-wsl и Visual Studio онлайн, я не могу использовать переменную среды для исправления имен папок для определенных папок рабочей области, таких как leetcode. Я попытался установить "leetcode.workspaceFolder": "${ env:HOME }/go/src/github.com/rafee/leetcode", но это не сработало. Это ранее упоминалось в # 2809

Не рекомендуется синхронизировать определенные параметры пути, если только расширение, владеющее этим параметром, не может обрабатывать их с помощью переменных env.

Сможет ли синхронизация настроек синхронизировать файлы конфигурации ssh?

Не сейчас.

какой метод сейчас безопасен для синхронизации

https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

или

https://mikefrobbins.com/2019/03/21/backup-and-synchronize-vscode-settings-with-a-github-gist/#comment -39448

Я лично использую это расширение:
shan.code-settings-sync
Это очень круто, и мои настройки хранятся в секрете на github.

@elliot-labs, как обсуждалось ранее в этой ветке, секретные списки github не являются частными. Документация Github подтверждает это https://docs.github.com/en/github/writing-on-github/creating-gists.

Я использовал то же расширение, но удалил некоторую конфиденциальную информацию из своих настроек после того, как обнаружил, что она не является частной.

О дерьмо! Я пропустил это! 😬

@elliot-labs и @haugerbr
спасибо,
Я также не знаю, что суть не является частной
так что сейчас думаю написать скрипты для загрузки настроек в облако
и один скрипт для скачивания и установки

Я также создал программу, которая показывает мне сценарии при запуске.
так что я могу поместить этот сценарий там.

Ребята, синхронизация vscode-insiders не вариант?

Я согласен с @escape0707. У инсайдеров Vs code теперь есть синхронизация настроек, которая скоро появится в публичном выпуске. Это фактически не является проблемой и было решено.

@escape0707 @jakobhviid Я знаю об этом, и это именно то, что я планирую использовать после перехода на обычные сборки VSCode. Пока я все еще использую синхронизацию настроек, пока жду.

Функция синхронизации настроек (предварительная версия) перешла в стабильную версию (1.48), поэтому ее закрыли.

Пожалуйста, создайте отдельные вопросы для других запросов или ошибок.

@ sandy081 Sandy081 — наличие отдельных профилей в одной учетной записи — функция, которая уже была запрошена? Например, если я хочу использовать свою учетную запись github для метода аутентификации, но хочу использовать отдельные рабочие и личные профили. На данный момент я использую отдельные учетные записи, которые мне больше нравятся для разделения личного и рабочего, но я вижу вариант использования, когда людям нужно несколько личных профилей. Я открою для него запрос функции, если он еще не существует.

Просмотрите существующие проблемы с синхронизацией настроек и создайте новую, если ее нет.

Нашел. Отметьте его здесь на случай, если кто-то, читающий эту ветку, также заинтересован в ее отслеживании # 92393.

Пожалуйста, присоединяйтесь ко мне, чтобы поаплодировать и выразить признательность за добавление этой функции (начиная с версии 1.48 ). Я в восторге и восторге! Большое спасибо команде VS Code!! 👏🏼👏🏼👏🏼

Excited Guy

Однако, если вы позволите мне, всего два небольших замечания:

  1. Кажется, мне нужно повторно пройти аутентификацию после очень короткого тайм-аута (возможно, день?) И перезапустить VS Code.
  2. Аутентификация происходит в браузере, и, поскольку у меня есть табитис, и иногда мой браузер не открыт, это становится несколько... утомительным.

Спасибо.

Я бы предложил открыть новые проблемы для проблем, с которыми вы столкнулись, с шагами по воспроизведению.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги