Visual Studio Code 프로젝트의 모든 파일을 어떻게 포맷합니까?


답변:


77

"Format Files"라는 확장자를 사용할 수 있습니다.

”사용 : 명령 팔레트 열기 (Ctrl + Shift + P) & "Format Files"입력 'editor.action.formatFiles'명령에 대한 키 바인딩 생성. 작업 공간 폴더를 마우스 오른쪽 버튼으로 클릭하고 '파일 포맷'을 선택하여 디렉토리의 모든 파일을 포맷합니다.”

출처 : https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files


반쯤 지나서 " An error occurred while running Format Files: Invalid count value"
Aaron Franke는

매력처럼 작동
Dheeraj M Pai

이것은 더 예쁘게 사용하지 않기 때문에 모든 파일이 손상되었습니다. 그것은 JSX 코드를 깨뜨립니다. 좋은 모든 사람들의 사랑을 위해이 일을하지 마십시오! 당신은 그것을 후회할 것입니다.
jake_314

34

이것은 나를 위해 작동합니다

더 예쁜 설치 :

npm init 
npm i prettier

package.json에 다음 스크립트 를 추가하십시오 .

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 

이 경우에만 .js .jsx 및 .json 파일을 포맷해야합니다.

스크립트 실행 :

npm run pretty

3
아마 생산 종속성이 필요하지 않습니다, 명령을 설치 고궁 박물원에 "--save-DEV"를 추가 할
reggaeguitar

3
질문을 암시하는 것은 자바 스크립트에 관한 것입니다. 관련 태그가 없습니다.
Emobe

2
더 예쁜 형식 c/ c++/ c#코드가 가능합니까? 아니요-
반대 투표

eslint --fixeslint와 prettier를 모두 사용하는 경우 에도 사용할 수 있습니다 .
BeyondTheSea

9

나는 운이 좋지 않아 내가 예상했던 방식으로 이것을하는 확장 프로그램을 찾았으므로 하나를 만들었습니다. 방금 만든 확장 기능을 살펴 보시기 바랍니다.

https://marketplace.visualstudio.com/items?itemName=lacroixdavid1.vscode-format-context-menu#overview

여전히 몇 가지 문제가있을 수 있으므로 자유롭게보고하거나 기여할 수 있습니다.


내 남자! 시간을 절약 해주셔서 감사합니다. 이것은 HTML에서 잘 작동합니다.
Rum Jeremy

4

내가 찾은 가장 간단한 해결책은 다음과 같습니다.

  • vscode에 더 예쁘게 설치하십시오.
  • .prettierrc 파일을 만들고 원하는 방식으로 구성합니다.
  • vscode 콘솔에서 다음 명령을 실행하십시오.

npx prettier --write "**/*.ts" (필요에 따라 파일 형식 정규식 추가)


1

@herrbischoff가 말했듯이 현재 프로젝트의 모든 파일을 포맷 할 수있는 방법은 없습니다.
그러나 그것은 유용한 기능이 될 것입니다.

할 수있는 일은 자동 저장 및 자동 포맷을 켜서 저장되지 않은 모든 파일을 포맷하는 것입니다.

그렇지 않으면이를 수행 할 수있는 쉘 스크립트 나 확장 또는 다른 extern 프로그램 (예 : 오류를 자동 수정할 수있는 tslint 검사기)이 필요합니다.

이것에 문제가 있었고 모든 파일을 손으로 여는 것이 짜증납니다.


0

현재로서는 그렇게 할 수있는 방법이 없으며 특히 유용한 기능처럼 들리지 않습니다. 또는 다른 말로 하면, 완전히 신뢰할 수 있다면 유용한 기능 입니다.

사용 된 언어의 자동 서식 지정 논리에 많은 믿음을 두어야 오류가 발생할 수 있습니다. 어쨌든 수동으로 변경 사항을 검토해야하므로이 접근 방식은 측정 가능한 생산성 향상으로 이어지지 않아야합니다.

심각하게 수정 된 코드베이스로 작업하고 있고 가능한 문제에 대해 신경 쓰지 않는다면 각 언어의 CLI 포맷터로 간단한 쉘 명령을 실행하는 것이 좋습니다. clang-format을 사용하는 C ++ 코드의 예 :

find . -iname *.cpp -exec clang-format {} +

이 명령은 모든 cpp 파일을 재귀 적으로 찾고 기본 설정으로 포맷터를 통해 실행합니다.

프로세스는 기본적으로 모든 언어 (예 : JavaScript ( js-beautify 사용 ))에서 동일합니다.

find . -iname *.js -exec js-beautify {} +

나오는 것이 무엇이든 검토하십시오. 또한이 명령을 VScode에 스크립팅하거나 내장 터미널에서 실행하는 것이 가능할 수도 있습니다.


18
유용한 기능이 아닐까요? 서식 지정 규칙을 변경하는 경우 서식 변경 사항을 다른 코드 변경 사항과 혼합하는 것보다 한 번에 모든 파일에 적용하는 것이 좋습니다.
slikts

1
그것은 위험 할 수 있기 때문에 다소 명백합니다. 모든 파일, 특히 잘 알지 못하는 프로젝트에 적용된 모든 자동 서식은 수정 된 것보다 더 많은 것을 망칠 수 있습니다. 들여 쓰기가 중요한 Python과 같은 언어를 생각해보십시오. 선택하지 않은 자동 재 포맷으로 인해 문제가 발생 합니다. 물론 당신은 어려운 방법으로 그것을 스스로 찾을 수 있습니다.
herrbischoff

1
Intellij 및 Resharper와 함께 수년 동안이 작업을 해왔으며 문제가 없었습니다. 실제로 "어려운 방법"은 없습니다. 한 파일에 대해 자동으로 수행 할 수있는 형식을 신뢰한다면 다른 모든 파일에 대해 충분히 신뢰합니다. IE 기본 규칙을 해제하고 천천히 설정하는 규칙을 명시 적으로 선택하는 방법을 권장합니다.
Fortytwo 2018

3
이 주장에 의해 전체 파일을 포맷하는 것은 너무 위험합니다. 블록 포맷 만 가능해야합니다. 전체 파일이 정상이면 동일한 디렉토리에서 두 개의 파일을 선택하면 어떻게됩니까? 괜찮다면 디렉토리를 선택하면 어떻게 되나요? 이것이 완벽하게 이해되는 많은 유스 케이스 (예 : @slikts)가 있고, 리 포맷터 / 프리티 파이어 / 코드 표준화가 잘 작동하는 많은 환경 (파이썬 포함)이 있습니다.
마빈

2
이것은 꽤 의견이 많은 응답처럼 보입니다. 많은 indendtation 오류가있는 (Python이 아닌) 코드베이스를 발견하는 것은 드문 일이 아닙니다. 기본 작업은 현재 규칙을 사용하여 파일의 형식을 지정하고, 프로젝트 빌드를 확인하고, 테스트를 통과 한 다음 git에서 파일을 검토하는 것입니다 (공백 무시 가능). 단일 파일이 아닌 프로젝트로이 작업을 수행 할 수있는 방법을 구독하고 싶습니다.
lorengphd

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.