[visual-studio-code] .vscode 폴더를 소스 제어에 커밋해야합니까?

.vscode폴더는 소스 제어에 전념해야합니까?

새로운 프로젝트에서는 settings.json파일을 제외한 폴더가 비어 있습니다. 이 폴더에는 어떤 것들이 있습니까? .vs폴더와 같이 머신별로, 개발자별로, 커밋되지 않습니까? 아니면 모든 개발자가이 폴더를 공유해야하므로 커밋해야합니까?

파일 상단의 주석은 .vscode/settings.json다음과 같습니다.

// Place your settings in this file to overwrite default and user settings.
{
}

이것은 폴더에 프로젝트 별 설정이 포함되어 소스에 포함되어야 함을 의미합니다. 또한 UserVoice에 대한이 게시물은 일부 입력 내용이 입력되어 커밋해야 함을 암시하는 것으로 보입니다.



답변

.vscode팀과 설정, 작업 구성 및 디버그 구성을 공유 하려면 폴더를 체크인하십시오 . 팀에서 설정을 적용하려면 일반적으로 설정 (예 : 공백 대 탭)을 팀과 공유하는 것이 좋습니다. VS Code 팀에서는 팀이 VS Code에 대해 동일한 디버그 대상 및 작업 대상 집합을 갖기를 원하기 때문에 디버그 및 작업 별 설정도 공유합니다.

그러나 .vscode설정을 위해 프로젝트에 폴더 가 필요하지 않습니다 . 사용자 수준에서 설정을 구성 할 수도 있습니다.


답변

커밋 / 무시 사이에 세 번째 영리한 옵션이 있습니다 : .default접미사로 커밋 .

예를 들어, 당신은 추가 할 수 있습니다 settings.json.gitignore, 커밋 settings.json.default이와 (나의 팀) 일반적인 관행 훨씬처럼 .env파일.

비디오 커밋 편집기 설정에서 버전 관리 까지이 조언을 받았습니까? 에 의해 마티아스 페터 요한슨


답변

  • .vscode/settings.json예외를 제외하고는 절대 커밋하지 마십시오 search.exclude. 실제로 필요한 경우 다른 개발자 에게 적용 하려는 프로젝트의 특정 설정 만 설정하도록주의하십시오 .
  • 유효성 검사, 서식, 컴파일 사용하는 다른 파일이 좋아하는 package.json, .eslint, tsconfig.json, 등
  • 포함해야하는 유일한 .vscode는 디버깅을위한 복잡한 시작 구성입니다.
  • 시스템에 개인 정보를 넣을 수있는 타사 확장 프로그램이있을 수 있습니다.

당신이 할 수없는 것은 전체 settings.json 내용 파일을 복사하여 붙여 넣는 것 .vscode/settings.json입니다. 일부 사람들 이이 작업을 수행하고 파일을 커밋하는 것이 복잡합니다. 이 경우 다른 작업 공간을 파괴 할뿐만 아니라 최악의 경우 미학, UI, 경험을 좋아하지 않아야하는 설정을 사용자에게 적용해야합니다. 일부는 시스템에 매우 의존적이기 때문에 환경을 깨뜨릴 수 있습니다. 시력에 문제가있어 editor.*사용자 설정이 개인화되고 프로젝트를 열면 영상이 변경된다고 상상해보십시오 . 시력에 문제가 있다고 상상해보십시오. 사용자 편집기. * 설정을 개인화하여 작업해야합니다. 화가 나 겠어요

당신이 진지한 경우 커밋하지 마십시오 .vscode/settings.json. 일반적으로 유효성 검사, 컴파일과 같은 특정 프로젝트에 유용한 설정은 의미가 있지만 일반적으로 .eslint, tsconfig.json, .gitignore, package.json과 같은 특정 도구 구성 파일을 사용할 수 있습니다. 등등. vscode 작성자가 새로운 이민 경험을 단순화하기 위해 파일을 추가했다고 생각하지만 진지하게 원한다면 그렇게하지 마십시오!

유일한 예외이며 매우 특별한 경우 search.exclude가 될 수 있습니다.


답변

다른 답변 요약

일반적으로 .vscode폴더를 제외 하고 다른 개발자가 공유 설정을 다시 만들 수 있도록 선택된 JSON 파일을 남겨 두는 것이 좋습니다.

다음과 같은 설정 예 :

  • 테스트 스위트를 실행하기위한 언어 별 테스트 구성 ( settings.json)
  • 이 저장소에 사용 된 언어 규칙을 적용하기위한 린터 및 코드 형식 도구의 확장 설정 ( settings.json)
  • 구성 실행 및 디버그 ( launch.json)
  • 공유 작업-VS 코드로 관리되는 경우 ( tasks.json)

일부 설정은 작업 공간 파일에 저장하거나 .vscode 폴더에서 전송할 수 있습니다. 아래를 참조하십시오.


.gitignore사용할 샘플 코드 (및 어디서 구할 수 있는지)

https://gitignore.io 에서 제안 된 설정은 다음과 같습니다 . 최신 권장 .gitignore파일 을 얻기 위해 “VisualStudioCode”를 검색 할 수 있습니다 . 나는이 웹 사이트 .gitignore를 나의 새로운 repos 대부분의 출발점으로 사용합니다 :

# 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 코드를 사용하는 다른 사람들에게 상처를 줄 수 있습니다. pythonpath에서 .vscode/settings.json). 핵심은 로컬 환경에 맞춤 설정을 저장하지 않고 모든 사람이 사용할 수있는 설정 만 공유하는 것입니다.

예를 들어, IDE 설정 파일에 repo 또는 파일 / 라이브러리 등의 절대 경로가 있으면 나쁘지 않습니다. 그러나 모든 참조가 상대적이라면 repo를 사용하는 모든 사람에게 효과적이어야합니다 (그러나 Windows / Unix 간의 경로 사양 차이에주의하십시오).


사용자, 작업 공간 및 폴더 설정 정보

참고 :.vscode 폴더 의 설정 파일 은 일반적으로 설정 의 폴더 버전을 변경할 때만 업데이트됩니다 (많은 예외가있는 것 같습니다).

  • 사용자 설정 을 변경하면 일반적으로 다른 곳에 저장됩니다.
  • 작업 공간 설정 을 변경하면 일반적으로*.code-workspace 현재 사용중인 폴더에 저장됩니다 (폴더 설정 파일로 이동하지만 수동으로 이동할 수 있습니다).

즉, 개인 PC에 대한 사용자 정의 설정을 사용자 설정에 배치하고, 특정 프로젝트 / 패키지에 대한 일반적인 설정을 가능하면 다른 것에 배치해야합니다.

  • 파이썬 확장을 사용할 때 .vscode/settings.json파일 ( 폴더 설정을 저장하는)은 항상 설정 아래의 절대 경로를 저장 pythonpath하므로 .gitignore파일 에서 제외를 제거 하고 더 이상 파이썬 저장소에 저장하지 않습니다. 상대 경로로 저장하더라도 VS Code는 절대 경로로 재설정합니다.
  • 대신에, 난 그냥 폴더 저장 나는 예는 생성 (작업 공간과 같은 코드의 사용을 필요 myproject.code-workspace로 파일 로> 저장 작업 공간을 – 파일을 그런 식으로, 당신은 REPO에 작업 공간 파일로 전환을 제어하고 저장할 수 있습니다 제외한있다. 폴더 설정 파일 ( .vscode/settings.json) 작업 영역과 폴더 설정 파일간에 설정을 이동하여 저장할 내용과 저장되지 않는 내용을 제어 할 수 있습니다. 작업 공간 파일은 폴더 설정 파일의 모든 항목을 무시한다는 점을 명심하십시오.

짧고 짧습니다. 작업 공간 파일을 사용하고 가장 일반적인 설정을 넣을 수 있지만 로컬 설정을 폴더 설정 파일에 넣는 동안 사용하는 확장명 / 언어에 따라 다릅니다.

물론 .vscode/settings.json파일 을 저장 하거나 그 일부 를 저장해야하는 다른 이유가있을 수 있습니다 . 또는 현재 언어의 설정에 문제가되지 않을 수 있습니다.

귀하의 마일리지가 다를 수 있습니다…


답변

왜 여기 주변의 주장 외에 실습을 보지 않겠습니까?

.vscode내가 지금까지 찾은 가장 큰 프로젝트 중 하나 는 Mozilla Firefox 입니다. Firefox 팀 이 일반적인 작업 과 권장되는 확장 기능을 공유 하는 것 같습니다 .

그래서 .vscode당신이하고있는 일을 알고있는 한 계속 유지하는 것이 나쁜 생각이 아니라고 생각합니다 .

공유하는 다른 큰 프로젝트가 표시되면이 게시물을 업데이트하겠습니다 .vscode.


답변

다른 답변과 동일합니다 : 아니요.

예를 들어, Git 2.19 (Q3 2018)에서 선택한 접근 방식을 고려하면 contrib/VSCode 사용자가 Git 코드베이스를보다 잘 사용하는 데 도움이 되는 스크립트 (in )가 추가 됩니다.

다시 말해서, .vscode컨텐츠를 생성하십시오 (아직없는 경우), 버전을 지정하지 마십시오.

참조 12861e2 커밋 , 2a2cdd0 커밋 , 5482f41 커밋 , f2a3b68 커밋 , 0f47f78 커밋 , b4d991d 커밋 , 58930fd 커밋 , dee3382 커밋 , 54c06c6 커밋 에 의해 (2018 7월 30일) (요하네스 Schindelin을 dscho) .
(가 합병 – Junio C 하마노 gitster30cf191 커밋 2018 15 팔월)

contrib: VS 코드 구성을 초기화하는 스크립트 추가

VS Code는 가볍지 만 강력한 소스 코드 편집기로 데스크탑에서 실행되며 Windows, macOS 및 Linux에서 사용할 수 있습니다.
다른 언어 중에서도 확장을 통해 C / C ++를 지원하므로 코드를 빌드 및 디버깅 할뿐만 아니라 Intellisense (예 : 코드 인식 완료 및 유사한 기능)를 제공합니다.

이 패치는 VS 코드와 효과적으로 작동하도록 환경을 설정하는 데 도움이되는 스크립트를 추가 합니다. Unix 쉘 스크립트를 실행 contrib/vscode/init.sh하여 관련 파일을 만들고 VS 코드에서 Git 소스 코드의 최상위 폴더를 엽니 다 .


답변

대답은 “아니오”입니다. .vscode 폴더는이 편집 기용 이므로 다른 사람을 혼동하는 경우 이러한 개인 설정을 저장소로 푸시 해서는 안되므로 변경 사항을 무시 하기 위해 프로젝트의 .gitignore 파일에 추가 할 수 있습니다.