수색…


프로젝트의 코드 스타일 정의

PhpStorm은 베스트 프랙티스와 공통 표준에 기반한 많은 양의 언어에 대한 코드 스타일을위한 기본 설정을 제공합니다. 그러나 PhpStorm 설정> 편집기 > 코드 스타일 에서 각 언어의 스타일을 프로젝트 단위로 사용자 정의 할 수 있습니다.

코드 스타일 설정

체계

체계는 코드 스타일 지침 및 설정의 모음입니다. 프로젝트에 대한 체계를 선택할 수 있으며 즉시 적용됩니다. 또한 프로젝트가 열려있는 동안에 만 사용할 수있는 프로젝트 구성표가 있습니다. Project 구성표는 일반 사용자 설정이 아니라 프로젝트 소유 설정에 지침을 저장합니다.

Manage 단추를 클릭하면 새로운 체계를 추가하여 새로운 코드 스타일 지침 세트를 신속하게 설정할 수 있습니다. 관리 상자는 또한 스키마 나 스키마를 가져 오는 데 사용할 수 있습니다. 이는 친구 나 동료와 스키마를 공유하려는 경우 매우 유용합니다.

코드 스타일 관리 상자

특정 언어의 스타일 변경

특정 언어에 대한 코드 스타일 설정을 변경하려면 세로 막대에서 사용 가능한 언어를 클릭하기 만하면됩니다. 그런 다음 각 언어마다 다른 설정 페이지가 표시됩니다.

예를 들어 PHP 언어는 탭과 공백, 중괄호 또는 PHP 문서에 대한 설정을 갖습니다.

PHP 용 코드 스타일

각기 다른 설정의 의미를 알고 싶다면 공식 문서에서 찾아 볼 수 있습니다.

PhpStorm 2016 이상의 코드 스타일 문서

여러 팀 구성원간에 프로젝트에 대해 지정된 코드 스타일 적용

현재 팀 전체에 실제로 코드 스타일 지침을 적용하는 원 클릭 버튼 방법은 없지만 특정 코드 스타일이 제품에 적용되는지 확인하는 두 가지 방법이 있습니다.

PhpStorm 코드 스타일 스키마 가져 오기

더 쉬운 첫 번째 솔루션은 자신의 PhpStorm 인스턴스에 코드 스타일 스키마를 설정하고, 이식을 휴대용 드라이브 또는 네트워크 드라이브로 내 보낸 다음 모든 개발 컴퓨터에서 스키마를 가져 오는 것입니다.
이렇게하면 개발자는 Cmd + Shift + L (MacOS) 또는 Ctl + Alt + L (Windows / Linux) 단축키를 사용하여 자동으로 전체 소스 코드를 포맷 할 수 있습니다.

이 문서에 대한 자세한 내용은 다음 설명서를 참조하십시오.

PhpStorm 2016 이상에서 소스 코드 재 포맷

단점
불행하게도 개발자가 코드 재 형식화를 실제로 적용했는지 확인할 방법이 없습니다. 개발자는 포맷팅을 담당한다는 약속에 의존해야합니다.

CI 서버로 자동 코드 포맷 검사

소스 코드 형식을 제어하는 ​​매우 엄격한 방법은 소스 코드가 미리 정의 된 코드 스타일과 일치하는지 확인할 수있는 Jenkins 와 같은 연속 통합 서버를 구현하는 것입니다.

개발자가 자신의 개발 브랜치에서 새로운 기능을 수행하고 변경 사항을 기본 저장소로 푸시하려고한다고 가정 해 봅시다. 먼저 변경 사항을 자신의 지사로 보내 CI 서버가 새 기능을 점검합니다. 코드의 형식이 올바르지 않아 검사가 실패하면 개발자에게 통지되어 문제를 해결할 수 있습니다.

모든 다른 통합 서버에서 코드 품질 및 형식화 검사를 설정하는 방법에는 여러 가지가 있으므로 해당 태그에서 검사를 사용하여 서버를 설정하는 방법을 설명해야합니다.

PSR-2와 같은 사전 정의 된 표준에서 코드 스타일 설정

PhpStorm은 이미 PSR-2 와 같은 공통 코드 스타일 지침 및 표준을 기반으로하는 많은 사전 정의 된 언어 체계를 제공합니다. 이러한 표준을 가져 와서 현재 구성으로 설정할 수있는 코드 스타일 설정 페이지에는 숨겨진 기능이 있습니다. 이렇게하려면 왼쪽 패널에서 코딩 언어를 선택하기 만하면됩니다. 그런 다음 오른쪽 상단에 작은 링크가 있습니다 ...에서 설정 ...

PhpStorm은이 링크를 클릭하면 사전 정의 된 스타일 탭에서 사전 정의 된 표준을 선택할 수있는 작은 팝업을 제공합니다.

PhpStorm에서 스타일 설정



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow