Czy .vscode
folder ma podlegać kontroli źródła?
W świeżym projekcie folder jest pusty, z wyjątkiem settings.json
pliku. Jakie rzeczy trafiłyby do tego folderu? Czy jest to specyficzne dla komputera, specyficzne dla programisty, podobnie jak .vs
folder, a zatem nie jest zatwierdzane ? A może wszyscy programiści powinni udostępnić ten folder i dlatego należy go zatwierdzić?
Komentarz na górze pliku .vscode/settings.json
stwierdza:
// Place your settings in this file to overwrite default and user settings.
{
}
Wydaje się to sugerować, że folder powinien zawierać ustawienia specyficzne dla projektu, a tym samym być dołączony do źródła. Wydaje się , że ten post na UserVoice sugeruje, że będą tam wpisywane pewne typy, sugerując również, że należy go popełnić.
visual-studio-code
Ronald Zarīts
źródło
źródło
.gitignore
które tworzy program Visual Studio,.vscode
folder jest obecnie wykluczony. Ale ponieważ VS Code sam w sobie jest raczej nowy, być może jeszcze go nie poznali. Na razie pozostawiłem folder bez śledzenia, gdy otrzymuję więcej informacji na jego temat.Odpowiedzi:
Sprawdź w
.vscode
folderze, czy chcesz udostępnić zespołowi ustawienia, konfigurację zadania i konfigurację debugowania. Myślę, że ogólnie rzecz biorąc, sensowne jest dzielenie się ustawieniami (np. Białe znaki i tabulatory) z zespołem, jeśli chcesz wymusić ustawienia w zespole. W zespole VS Code dzielimy również ustawienia debugowania i zadania, ponieważ chcemy, aby nasz zespół miał taki sam zestaw celów debugowania i zadań dla VS Code.Przy okazji nie musisz mieć
.vscode
folderu w swoim projekcie do ustawień. Możesz także skonfigurować ustawienia na poziomie użytkownika.źródło
symbols.json
: stackoverflow.com/questions/51876769/...Pomiędzy zatwierdzaniem / ignorowaniem jest trzecia sprytna opcja: zatwierdzanie z
.default
sufiksem.Na przykład można dodać
settings.json
do.gitignore
, i zobowiązać sięsettings.json.default
, podobnie jak to jest powszechna praktyka (w moim zespole) z.env
plikami.Wziąłem tę radę z ustawień edytora wideo Commit do kontroli wersji? autor: Mattias Petter Johansson
źródło
settings.json.default
to sens, ale zakłada się, że cały zespół używa kodu vs, a baza kodów nie jest udostępniana szerszej publiczności. Uważam, że moje projekty open source na GitHub, po prostu upewniam się, że dodałem je do mojego domyślnego gitignore, ponieważ nie chcę wymuszać określonego IDE na moich potencjalnych użytkownikach mojej bazy kodu..vscode/settings.json
- z dziwnym wyjątkiemsearch.exclude
. Jeśli naprawdę musisz, bądź ostrożny, umieszczając tylko te ustawienia projektu, które chcesz wymusić na innych programistach.package.json
,.eslint
,tsconfig.json
, etcNie możesz skopiować i wkleić całego pliku zawartości settings.json do
.vscode/settings.json
. Widzę, że niektórzy to robią, a popełnianie pliku jest okrucieństwem. W takim przypadku nie tylko zniszczysz inne miejsce pracy, ale, co najgorsze, egzekwujesz ustawienia dla użytkowników, których nie powinna ci się podobać estetyka, interfejs użytkownika, wrażenia. Prawdopodobnie zepsujesz ich środowiska, ponieważ niektóre są bardzo zależne od systemu. Wyobraź sobie, że mam problemy ze wzrokiem, więc mojeeditor.*
ustawienia użytkownika są spersonalizowane, a kiedy otwieram twój projekt, grafika się zmienia. Wyobraź sobie, że mam problemy ze wzrokiem. Muszę spersonalizować ustawienia edytora użytkownika. *, Aby móc pracować. Byłbym złyJeśli mówisz poważnie, nie popełniaj
.vscode/settings.json
. Ogólnie rzecz biorąc, ustawienia, które mogą być przydatne dla konkretnego projektu, takie jak sprawdzanie poprawności, kompilacja, mają sens, ale ogólnie można używać plików konfiguracyjnych określonych narzędzi, takich jak .eslint, tsconfig.json, .gitignore, package.json. itd. Wydaje mi się, że autorzy vscode właśnie dodali ten plik, aby uprościć obsługę nowicjusza, ale jeśli chcesz być poważny, nie rób tego!Jedynym wyjątkiem, aw bardzo szczególnych przypadkach może być search.exclude
źródło
.vscode/settings
jest zbyt restrykcyjna. Użyj.eslint
lub.editorconfig
pliki, jeśli możesz, ale nadal powinieneś się zameldować,.vscode/settings
jeśli naprawdę chcesz, aby ustawienie było współużytkowane przez wszystkich programistów w zespole / projekcie.vscode/settings
ma sens, jeśli pracujesz w zespole, który używa vscode lub pracujesz nad projektem, w którym wielu programistów używa vscode. Nie wszystkie z tych ustawień mają odpowiedniki między edytoramiPodsumowując inne odpowiedzi
Zaleca się, aby zasadniczo wykluczyć
.vscode
folder, ale pozostaw wybrane pliki JSON, które pozwalają innym programistom na odtworzenie wspólnych ustawień.Przykłady ustawień, które należy uwzględnić:
settings.json
)settings.json
)launch.json
)tasks.json
)Pamiętaj, że niektóre ustawienia można zapisać w pliku obszaru roboczego lub przenieść do niego z folderu .vscode. Patrz poniżej.
Przykładowy
.gitignore
kod do użycia (i gdzie go zdobyć)Oto ustawienia, jak sugerowano na https://gitignore.io . Możesz tam wyszukać „VisualStudioCode”, aby uzyskać najnowszy zalecany
.gitignore
plik. Używam tej strony jako punktu wyjścia.gitignore
dla większości moich nowych repozytoriów:W powyższym
.gitignore
pliku,.vscode/*
linia mówi wykluczyć wszystko w.vscode
folderze, ale wtedy!.vscode/a_specific_file
linii powiedz git na „nie” ignorować pewne konkretne pliki w tym folderze (settings.json
,launch.json
, itd.). Rezultat końcowy jest taki, że wszystko jest wykluczone w.vscode
folderze, z wyjątkiem plików specjalnie nazwanych w jednym z tych innych wierszy.Inne czynniki i jak się przekonać ...
Dołączenie
.vscode
folderu do repozytorium nie zaszkodzi nikomu, kto używa innego IDE (lub edytora tekstu / kodu).Może jednak zaszkodzić innym osobom korzystającym z VS Code, jeśli pliki te zawierają ogólne ustawienia, które wymagają czegoś specyficznego dla twojego środowiska, które jest inne w ich środowisku - np. Bezwzględna ścieżka, w której repo jest zainstalowane (w którym rozszerzenie VS Code Python konsekwentnie wprowadza
pythonpath
w.vscode/settings.json
). Kluczem jest unikanie zapisywania ustawień dostosowanych do lokalnego środowiska, udostępniając tylko te, z których mogą korzystać wszyscy.Na przykład, jeśli pliki ustawień IDE mają bezwzględne ścieżki do repozytorium lub plików / bibliotek itp., To źle, nie udostępniaj. Ale jeśli wszystkie referencje są względne, powinny działać dla każdego, kto korzysta z repozytorium (choć uważaj na różnice specyfikacji ścieżek między Windows / Unix ..).
Informacje o ustawieniach użytkownika, obszaru roboczego i folderu
Uwaga: pliki ustawień w
.vscode
folderze są generalnie aktualizowane tylko po wprowadzeniu zmian w wersji ustawień folderu (wydaje się jednak, że istnieje wiele wyjątków).*.code-workspace
folderze, którego aktualnie używasz (nadal często przechodzą do plików ustawień folderów - ale możesz je ręcznie przenieść!).Oznacza to, że należy umieścić własne ustawienia dla Twojego osobistego komputera do użytkownika ustawień i umieścić te ogólne dla określonego projektu / pakiet do innych, w miarę możliwości.
.vscode/settings.json
plik (który zapisuje ustawienia folderów ) zawsze zapisuje ścieżkę bezwzględną pod tympythonpath
ustawieniem, więc usunąłem jego wykluczenie z moich.gitignore
plików i nie zapisuję go już na moich repozytoriach Python. Nawet jeśli zapiszę go ze ścieżką względną, VS Code po prostu zresetuje go do ścieżki bezwzględnej.myproject.code-workspace
plik za pomocą Plik -> Zapisz obszar roboczy jako . W ten sposób możesz kontrolować, co wchodzi do pliku obszaru roboczego i zapisać go w repozytorium, wykluczając plik ustawień folderów (.vscode/settings.json
). Możesz dowolnie przenosić dowolne ustawienia między obszarem roboczym a plikami ustawień folderów, aby kontrolować, co zostanie zapisane, a co nie. Pamiętaj, że plik obszaru roboczego zastąpi wszystko w pliku ustawień folderu.Krótko mówiąc - możesz po prostu użyć pliku obszaru roboczego i umieścić w nim najczęściej używane ustawienia, jednocześnie umieszczając ustawienia lokalne w pliku ustawień folderu, choć wydaje się, że zależy to od używanych rozszerzeń / języków.
Oczywiście możesz mieć inne powody, dla których chcesz zapisać
.vscode/settings.json
plik lub jego część. Lub może to nie stanowić problemu dla ustawień w twoim obecnym języku.Twój przebieg może się różnić ...
źródło
Dlaczego nie spojrzeć na praktykę, oprócz argumentów tutaj?
Jednym z największych projektów,
.vscode
które dotąd odkryłem, jest Mozilla Firefox . Wygląda na to, że zespół Firefoksa dzieli wspólne zadania i zalecane rozszerzenia.Sądzę więc, że nie jest to zły pomysł
.vscode
, jeśli tylko wiesz, co robisz.Zaktualizuję ten post, gdy zobaczę inne duże projekty, które udostępniają
.vscode
.źródło
Tak samo jak inne odpowiedzi: nie.
Jako przykład rozważmy podejście wybrane przez Git 2.19 (III kwartał 2018), które dodaje skrypt (in
contrib/
), aby pomóc użytkownikom VSCode w lepszej pracy z bazą kodową Git.Innymi słowy, wygeneruj
.vscode
treść (jeśli jeszcze nie istnieje), nie wersjonuj jej.Zobacz zatwierdzenie 12861e2 , zatwierdzenie 2a2cdd0 , zatwierdzenie 5482f41 , zatwierdzenie f2a3b68 , zatwierdzenie 0f47f78 , zatwierdzenie b4d991d , zatwierdzenie 58930fd , zatwierdzenie dee3382 , zatwierdzenie 54c06c6 (30 lipca 2018 r.) Przez Johannes Schindelin (
dscho
) .(Połączone przez Junio C Hamano -
gitster
- w commit 30cf191 , 15 sierpnia 2018)źródło
Odpowiedź brzmi „NIE”, ponieważ folder .vscode jest przeznaczony dla tego edytora i nie należy wypychać tych ustawień osobistych w celu repozytorium w przypadku mylenia innych, aby można je było dodać do pliku .gitignore projektu, aby zignorować zmiany
źródło
.vscode/settings.json
plik w obszarze roboczym): code.visualstudio.com/docs/getstarted/... Tylko ustawienia takie jak konfiguracja narzędzia wchodzą w ustawienia obszaru roboczegolaunch.json
- uruchom konfiguracje do debugowania, których konfiguracja może być łatwa. (2)settings.json
ustawienia na poziomie projektu, takie jak kompilator TypeScript do użycia, reguły białych znaków, (3)tasks.json
- komendy budowania. Możesz nie udostępniać, ale uważamy to za przydatne.Prostym sposobem na zachowanie ustawień bez zatwierdzania ich w repozytorium git projektu jest utworzenie obszaru roboczego i dodanie do niego folderu.
Kiedy tworzysz przestrzeń roboczą, musisz zapisać plik
code-workspace
. Ten plik zawiera niestandardowe ustawienia, po prostu zapisz ten plik z repozytorium git i będzie można go dodać.vscode
do.gitignore
pliku.źródło