Подводя итоги других ответов
Рекомендация состоит в том, чтобы вообще исключить .vscodeпапку, но оставить выбранные файлы JSON, которые позволяют другим разработчикам воссоздавать общие настройки.
Примеры настроек для включения:
- Конкретные языковые тестовые конфигурации для запуска наборов тестов (
settings.json)
- Настройки расширений для линтеров и инструментов форматирования кода для обеспечения соблюдения правил языка, используемых в этом репо (
settings.json)
- Запуск и отладка конфигураций (
launch.json)
- Общие задачи - если управляются с помощью VS Code (
tasks.json)
Обратите внимание, что некоторые настройки могут быть сохранены в файле рабочей области или перенесены в него из папки .vscode. Увидеть ниже.
Пример .gitignoreкода для использования (и где его взять)
Вот настройки, предлагаемые на https://gitignore.io . Вы можете найти «VisualStudioCode» там, чтобы получить последний рекомендуемый .gitignoreфайл. Я использую этот сайт в качестве отправной точки .gitignoreдля большинства моих новых репозиториев:
# Created by https://www.gitignore.io/api/visualstudiocode
# Edit at https://www.gitignore.io/?templates=visualstudiocode
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### VisualStudioCode Patch ###
# Ignore all local history of files
**/.history
# End of https://www.gitignore.io/api/visualstudiocode
В приведенном выше .gitignoreфайле .vscode/*строка говорит об исключении всего в .vscodeпапке, но затем !.vscode/a_specific_fileстроки говорят git «не» игнорировать некоторые конкретные файлы в этой папке ( settings.json, launch.jsonи т. Д.). Конечный результат заключается в том, что в .vscodeпапке исключено все, кроме файлов, специально названных в одной из этих строк.
Другие факторы и как выяснить для себя ...
Включение .vscodeпапки в репозиторий фактически не повредит никому, кто использует другую IDE (или редактор текста / кода).
Тем не менее, это может повредить другим людям, использующим VS Code, если эти файлы содержат общие параметры, которые требуют чего-то определенного для вашей среды, что отличается от их среды - например, абсолютный путь, по которому устанавливается репо (который последовательно вводит расширение VS Code Python pythonpathв .vscode/settings.json). Ключ заключается в том, чтобы не сохранять настройки, которые являются пользовательскими для вашей локальной среды, а только делиться теми, которые могут использоваться всеми.
Например, если файлы настроек IDE имеют абсолютные пути к репо или любым файлам / библиотекам и т. Д., То это плохо, не делитесь. Но если все ссылки являются относительными, то они должны работать для всех, кто использует репозиторий (хотя, будьте осторожны с различиями в спецификации пути между Windows / Unix ..).
О настройках пользователя, рабочей области и папки
Примечание: файлы настроек в .vscodeпапке, как правило, обновляются только при внесении изменений в версию настроек папки (хотя, похоже, существует множество исключений).
- Если вы вносите изменения в пользовательские настройки, они обычно хранятся в другом месте.
- Если вы вносите изменения в настройки рабочего пространства , они обычно хранятся в
*.code-workspaceпапке, которую вы используете в данный момент (они все еще часто попадают в файлы настроек папки - но вы можете перемещать их вручную!).
Это означает, что вы должны поместить пользовательские настройки для вашего персонального компьютера в пользовательские настройки и, по возможности, добавить общие настройки для определенного проекта / пакета в другие.
- Я заметил, что при использовании расширения Python
.vscode/settings.jsonфайл (который сохраняет настройки папки ) всегда сохраняет абсолютный путь под pythonpathнастройкой, поэтому я удалил его исключение из моих .gitignoreфайлов и больше не сохраняю его в репозитории Python. Даже если я сохраню его с относительным путем, VS Code просто сбрасывает его на абсолютный путь.
- Вместо этого я просто сохраняю любую папку, которую мне нужно использовать в Code, как рабочее пространство (например, создаю
myproject.code-workspaceфайл с помощью File -> Save workspace as . Таким образом, вы можете контролировать то, что входит в файл рабочего пространства, и сохранять его в репозитории, исключая файл настроек папки ( .vscode/settings.json). Вы можете в значительной степени перемещать любые настройки между файлами настроек рабочей области и папок, чтобы контролировать, что будет сохранено, а что нет. Просто имейте в виду, что файл рабочей области переопределит все в файле настроек папки.
Короче говоря, вы можете просто использовать файл рабочей области и поместить в него наиболее распространенные настройки, в то же время поместив локальные настройки в файл настроек папки, хотя, похоже, это зависит от того, какие расширения / языки вы используете.
Конечно, у вас могут быть другие причины для сохранения .vscode/settings.jsonфайла или какой-то его части. Или это не может быть проблемой для настроек на вашем текущем языке.
Ваш пробег может меняться ...