Подводя итоги других ответов
Рекомендация состоит в том, чтобы вообще исключить .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
файла или какой-то его части. Или это не может быть проблемой для настроек на вашем текущем языке.
Ваш пробег может меняться ...