Підбиття підсумків інших відповідей
Рекомендація полягає в тому, щоб загалом виключити .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рядки говорять мерзотник , щоб «не» ігнорувати деякі конкретні файли в цій папці ( settings.json, launch.jsonі т.д.). Кінцевим результатом є те, що в .vscodeпапці виключається все, крім файлів, спеціально названих в одному з цих інших рядків.
Інші фактори та як зрозуміти для себе ...
Включення .vscodeпапки до репо-файлу насправді не шкодить тому, хто використовує інший IDE (або редактор тексту / коду).
Однак це може зашкодити іншим, хто використовує код VS, якщо ці файли містять загальні параметри, які вимагають чогось конкретного для вашого оточення, що відрізняється від їхнього оточення - наприклад, абсолютний шлях, в який встановлено репо (в яке розширення VS Code Python послідовно вкладається pythonpathв .vscode/settings.json). Головне - уникати збереження налаштувань, пристосованих до вашого локального середовища, лише обміну тими, які можуть використовувати всі.
Наприклад, якщо файли налаштування IDE мають абсолютні шляхи до репо або будь-яких файлів / бібліотек тощо, це погано, не діліться ними. Але якщо всі посилання відносні, вони повинні працювати для всіх, хто використовує репо (хоча, будьте уважні щодо відмінностей у специфікації шляху між Windows / Unix ..).
Про налаштування користувача, робочої області та папки
Примітка: файли настройки в .vscodeпапці , як правило , оновлюється тільки при внесенні змін до папці версію налаштувань (там, схоже, буде багато винятків , хоча).
- Якщо ви внесете зміни в налаштування користувача , вони зазвичай зберігаються в іншому місці.
- Якщо ви внесете зміни в налаштування робочої області , вони, як правило, зберігаються у тій
*.code-workspaceпапці, яку ви зараз використовуєте (вони все ще часто переходять у файли налаштувань папки - але ви можете їх переміщати вручну!).
Це означає , що ви повинні поставити призначені для користувача настройки для вашого персонального комп'ютера в призначених для користувача настройках і поставити загальні з них для конкретного проекту / пакета в інших, коли це можливо.
- Я помітив, що при використанні розширення Python,
.vscode/settings.jsonфайл (який зберігає налаштування папки ) завжди зберігає абсолютний шлях під pythonpathналаштуванням, тому я видалив його виключення з моїх .gitignoreфайлів і більше не зберігаю його до мого репоту Python. Навіть якщо я зберігаю його відносним шляхом, VS Code просто скидає його на абсолютний шлях.
- Натомість я просто зберігаю будь-яку папку, яку мені потрібно використовувати в коді як робочу область (наприклад, створити
myproject.code-workspaceфайл за допомогою Файл -> Зберегти робочу область як . Таким чином, ви можете керувати тим, що йде у файл робочої області, і зберігати його в репо, не виключаючи файл налаштувань папки ( .vscode/settings.json). Ви можете значно перемістити будь-які параметри між робочою областю та файлами налаштувань папки, щоб керувати тим, що зберігається, а що ні. Просто пам’ятайте, що файл робочої області замінить що-небудь у файлі налаштування папки.
Довгі й короткі його - ви можете просто використовувати файл робочого простору, і помістити найбільш загальні настройки в ньому, в той час як введення локальних налаштувань в файл в папку Налаштування, хоча це , як видається , залежать від розширень / мов ви використовуєте.
Звичайно, у вас можуть бути інші причини збереження .vscode/settings.jsonфайлу чи його частини. Або це не може бути проблемою для налаштувань вашої поточної мови.
Ваш пробіг може змінюватися ...