Предназначена ли .vscode
папка для контроля версий?
В новом проекте папка пуста, кроме settings.json
файла. Какие вещи будут идти в эту папку? Является ли это специфичным для машины, специфичным для разработчика, как .vs
папка, и поэтому не будет зафиксировано? Или все разработчики должны совместно использовать эту папку, и поэтому она должна быть зафиксирована?
Комментарий вверху файла .vscode/settings.json
гласит:
// Place your settings in this file to overwrite default and user settings.
{
}
Кажется, это подразумевает, что папка должна содержать специфичные для проекта настройки и, следовательно, должна быть включена в источник. Кроме того, этот пост на UserVoice, кажется, подразумевает, что некоторые вводы будут там, также предлагая, чтобы это было зафиксировано.
visual-studio-code
Рональд Заритс
источник
источник
.gitignore
которую создает Visual Studio,.vscode
папка исключена в данный момент времени. Но поскольку VS Code сам по себе является довольно новым, они, возможно, еще не дошли до него. Я оставил папку без присмотра, пока получаю больше информации об этом.Ответы:
Отметьте в
.vscode
папке, если вы хотите поделиться настройками, конфигурацией задачи и конфигурацией отладки с командой. Я думаю, что в целом имеет смысл поделиться настройками (например, пробелами и вкладками) с командой, если вы хотите применить настройки в команде. Мы в команде VS Code совместно используем параметры отладки и задачи, потому что хотим, чтобы у нашей команды был одинаковый набор целей отладки и целей задачи для VS Code.Кстати, вам не нужно иметь
.vscode
папку в вашем проекте для настроек. Вы также можете настроить параметры на уровне пользователя.источник
symbols.json
: stackoverflow.com/questions/51876769/…Между фиксацией / игнорированием существует третий умный вариант: фиксация с
.default
суффиксом.Например , вы можете добавить
settings.json
к.gitignore
, и совершитьsettings.json.default
, так же, как это обычная практика (в моей команде) с.env
файлами.Я воспользовался этим советом из настроек редактора видео для контроля версий? по Маттиас Petter Johansson
источник
settings.json.default
имеет смысл, но это предполагает, что вся ваша команда использует код, а ваша кодовая база не передается более широкой аудитории. Я считаю, что мои проекты с открытым исходным кодом на GitHub, я просто добавляю их в свой gitignore по умолчанию, потому что я не хочу навязывать конкретную IDE моим потенциальным пользователям моей базы кода..vscode/settings.json
- со странным исключениемsearch.exclude
. Если вам действительно это нужно, будьте очень внимательны и оставляйте только те настройки вашего проекта, которые вы хотите применить к другим разработчикам.package.json
,.eslint
,tsconfig.json
и т.д.Что вы не можете сделать, это скопировать и вставить весь файл settings.json в
.vscode/settings.json
. Я вижу, как некоторые люди делают это, и передача файла является злодеянием. В этом случае вы не только нарушите рабочее пространство других пользователей, но, что еще хуже, вы будете применять настройки для пользователей, которые вам не нравятся, эстетика, пользовательский интерфейс, опыт. Вы, вероятно, нарушите их окружение, потому что некоторые очень зависят от системы. Представьте, что у меня проблемы со зрением, поэтому моиeditor.*
пользовательские настройки персонализированы, и когда я открываю ваш проект, визуальные эффекты меняются. Представьте, что у меня проблемы со зрением. Мне нужно настроить пользовательский редактор. * Настройки, чтобы он работал. Я был бы зол.Если вы серьезны, не совершайте
.vscode/settings.json
. В общем, настройки, которые могут быть полезны для конкретного проекта, такие как проверка, компиляция, имеют смысл, но в целом вы можете использовать определенные файлы конфигурации инструментов, такие как .eslint, tsconfig.json, .gitignore, package.json. и т.д. Я предполагаю, что авторы vscode только что добавили файл для упрощения работы с новичками, но если вы хотите быть серьезным, не делайте этого!Единственным исключением, и в очень особых случаях может быть search.exclude
источник
.vscode/settings
слишком ограничено. Используйте.eslint
или.editorconfig
файлы, если можете, но вы все равно должны проверить.vscode/settings
, действительно ли вы хотите, чтобы настройки были доступны всем разработчикам в команде / проекте.vscode/settings
имеет смысл проверить, работаете ли вы в команде, использующей vscode, или над проектом, в котором многие разработчики используют vscode. Не у всех этих настроек есть кросс-редакторские эквивалентыПодводя итоги других ответов
Рекомендация состоит в том, чтобы вообще исключить
.vscode
папку, но оставить выбранные файлы JSON, которые позволяют другим разработчикам воссоздавать общие настройки.Примеры настроек для включения:
settings.json
)settings.json
)launch.json
)tasks.json
)Обратите внимание, что некоторые настройки могут быть сохранены в файле рабочей области или перенесены в него из папки .vscode. Увидеть ниже.
Пример
.gitignore
кода для использования (и где его взять)Вот настройки, предлагаемые на https://gitignore.io . Вы можете найти «VisualStudioCode» там, чтобы получить последний рекомендуемый
.gitignore
файл. Я использую этот сайт в качестве отправной точки.gitignore
для большинства моих новых репозиториев:В приведенном выше
.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
папке, которую вы используете в данный момент (они все еще часто попадают в файлы настроек папки - но вы можете перемещать их вручную!).Это означает, что вы должны поместить пользовательские настройки для вашего персонального компьютера в пользовательские настройки и, по возможности, добавить общие настройки для определенного проекта / пакета в другие.
.vscode/settings.json
файл (который сохраняет настройки папки ) всегда сохраняет абсолютный путь подpythonpath
настройкой, поэтому я удалил его исключение из моих.gitignore
файлов и больше не сохраняю его в репозитории Python. Даже если я сохраню его с относительным путем, VS Code просто сбрасывает его на абсолютный путь.myproject.code-workspace
файл с помощью File -> Save workspace as . Таким образом, вы можете контролировать то, что входит в файл рабочего пространства, и сохранять его в репозитории, исключая файл настроек папки (.vscode/settings.json
). Вы можете в значительной степени перемещать любые настройки между файлами настроек рабочей области и папок, чтобы контролировать, что будет сохранено, а что нет. Просто имейте в виду, что файл рабочей области переопределит все в файле настроек папки.Короче говоря, вы можете просто использовать файл рабочей области и поместить в него наиболее распространенные настройки, в то же время поместив локальные настройки в файл настроек папки, хотя, похоже, это зависит от того, какие расширения / языки вы используете.
Конечно, у вас могут быть другие причины для сохранения
.vscode/settings.json
файла или какой-то его части. Или это не может быть проблемой для настроек на вашем текущем языке.Ваш пробег может меняться ...
источник
Почему бы просто не посмотреть на практику, кроме аргументов здесь?
Один из самых больших проектов, которые
.vscode
я пока держу, это Mozilla Firefox . Похоже, что команда Firefox делится своими общими задачами и рекомендуемыми расширениями.Поэтому я думаю, что это неплохая идея
.vscode
, если вы знаете, что делаете.Я обновлю этот пост, когда увижу другие крупные проекты, которые делятся
.vscode
.источник
То же, что и другие ответы: нет.
В качестве иллюстрации рассмотрим подход, выбранный Git 2.19 (Q3 2018), в котором добавлен скрипт (in
contrib/
), чтобы помочь пользователям VSCode лучше работать с базой кодов Git.Другими словами, генерируйте
.vscode
контент (если он еще не существует), не делайте его версию.См. Коммит 12861e2 , коммит 2a2cdd0 , коммит 5482f41 , коммит f2a3b68 , коммит 0f47f78 , коммит b4d991d , коммит 58930fd , коммит dee3382 , коммит 54c06c6 (30 июля 2018 г.) от Johannes Schindelin (
dscho
) .(Слиты Junio C Hamano -
gitster
- в фиксации 30cf191 , 15 Aug 2018)источник
Ответ - «НЕТ», потому что папка .vscode предназначена для этого редактора, и вам не следует выдвигать эти личные настройки для репо в случае путаницы с другими, поэтому вы можете добавить их в файл .gitignore вашего проекта, чтобы игнорировать изменения
источник
.vscode/settings.json
файл в рабочем пространстве): code.visualstudio.com/docs/getstarted/… В настройки рабочего пространства входят только такие вещи, как конфигурация инструментаlaunch.json
- запуск конфигураций для отладки, которые могут быть нетривиальными в настройке. (2)settings.json
настройки уровня проекта, такие как использование компилятора TypeScript, правила пробелов, (3)tasks.json
- команды сборки. Вы можете не делиться, но мы считаем это полезным.Простой способ сохранить ваши настройки без фиксации в вашем git-репозитории проекта - создать рабочее пространство и добавить в него папку.
Когда вы создаете рабочее пространство, вам нужно сохранить файл
code-workspace
. Этот файл содержит пользовательские настройки, просто сохраните этот файл из репозитория git и можете свободно добавлять его.vscode
в.gitignore
файл.источник