PhpStorm 2021.1의 새로운 기능

PhpStorm 2021.1은 주요 업데이트로 에디터에서 PHP 및 HTML 파일 미리보기 기능, 버그 방지를 도와주는 20여 개의 새로운 검사, 모든 하위 시스템에 적용된 개선 사항, Code With Me를 통한 페어 프로그래밍이 포함되어 있습니다.

PHP

상태 표시줄에서 PHP 언어 수준 설정

상태 표시줄에서 PHP 언어 수준 설정

composer.json을 수정할 필요 없이 프로젝트의 PHP 버전을 설정할 수 있습니다. 이 기능은 예를 들어 최신 PHP 버전으로 바꾸기 전에 코드베이스가 해당 버전과 호환되는지 확인할 때 유용합니다.

더 쉽게 PHP 설정 찾기

더 쉽게 PHP 설정 찾기

PHP 관련 설정을 더 쉽게 ​​찾고 변경할 수 있도록 이 섹션을 최상위 Settings(설정)/Preferences(환경 설정) | PHP로 옮겼습니다.

에디터에서 PHP 및 HTML 파일 미리보기

PhpStorm 내에서 파일을 미리 볼 수 있는 탭을 여는 아이콘이 에디터의 오른쪽 상단 모서리에 새로 추가되었습니다. 이 기능은 HTML 및 PHP 파일에서 작동합니다.

PHP 파일을 열고 코드를 입력하면 결과를 바로 옆에서 나란히 확인할 수 있습니다. 다른 창으로 전환할 필요가 없습니다. 연결된 CSS 및 JavaScript 파일의 변경 내용도 미리보기에 반영됩니다.

에디터에서 PHP 및 HTML 파일 미리보기

PhpStorm은 Settings(설정)/Preferences(환경 설정) | PHP의 프로젝트 설정에 지정된 로컬 PHP 인터프리터를 사용합니다. Docker 및 기타 원격 인터프리터는 지원되지 않습니다.

미리보기 아이콘을 켜려면 Preferences(환경 설정) | Tools(도구) | Web Browsers(웹 브라우저)에서 1개 이상의 브라우저를 활성화하고 For HTML files(HTML 파일) 체크박스를 선택하면 됩니다.

또한 Alt+F2 단축키를 사용해서 미리보기 탭을 열 수도 있습니다.

SQL 쿼리에서 테이블 접두사 사용

수많은 콘텐츠 관리 시스템 및 프레임워크에서는 테이블 접두사를 지정할 수 있으며, 이는 여러 애플리케이션에서 동일한 데이터베이스를 사용할 때 유용합니다.

SQL 쿼리에서 테이블 접두사 사용

이러한 경우 이전 버전의 PhpStorm에서는 SQL 쿼리에 접두사의 마커가 포함되어 데이터베이스 통합이 손실되었습니다.

이제 .phpstorm.meta.php 파일을 통해 접두사를 지정할 수 있습니다. 메타 파일 설명과 SQL 접두사를 지정하는 방법에 관해서는 도움말 글에서 자세히 알아보세요.

검사 및 빠른 수정

단순화 가능한 bool 표현식

단순화 가능한 bool 표현식

bool 표현식에 true 또는 false 리터럴이 있는 경우, PhpStorm을 사용하면 이를 단순화할 수 있습니다. Alt+Enter 빠른 수정을 사용해 중복을 제거하고 가독성을 높이세요.

호환되지 않는 피연산자의 엄격한 비교

호환되지 않는 피연산자의 엄격한 비교

엄격한 비교에 사용되는 === 연산자는 하나의 피연산자 유형이 다른 피연산자의 유형과 같지 않은 경우 항상 false를 도출합니다.

이러한 경우 잠재적인 버그의 원인이 될 수 있으므로 PhpStorm은 이를 강조 표시합니다. PhpStorm은 모든 유형 추론 정보를 고려하여 불분명한 사례에서도 문제를 찾아낼 수 있도록 도와줍니다.

PHP 8: 함수 호출의 대입을 이름 지정된 인수로 바꾸기

PHP 8: 함수 호출의 대입을 이름 지정된 인수로 바꾸기

매개변수 이름을 모방하기 위해 함수 호출에 변수 대입을 추가하는 것은 일반적 관행이었습니다.

PHP 8에서는 Alt+Enter를 눌러 대입을 실제로 이름 지정된 인수로 바꿀 수 있습니다.

'isset'을 병합 연산자로 바꾸기

'isset'을 병합 연산자로 바꾸기

이 코드 스니펫 isset($a) ? $a : $b;$a ?? $b와 정확히 동일하므로 이를 바꾸도록 PhpStorm에서 Alt+Enter 빠른 수정을 제안합니다.

공통 본문이 있는 'if' 블록을 단순화

공통 본문이 있는 'if' 블록을 단순화

일부 if 또는 else 블록은 본문이 동일해지도록 변경하고 나면 중복될 수 있습니다. 이때 PhpStorm은 공통 부분을 추출하거나 블록을 병합하도록 제안합니다.

'if' 문 반전

'if' 문 반전

임의의 'if'에서 Alt-Enter를 누르고 Invert 'if' statement('if' 문 반전)을 선택해보세요. 그러면 조건이 반대로 변경되고 필요한 코드 조정이 수행되어 논리가 보존됩니다. 조기 반환의 사용을 선호한다면 이 액션을 사용해 코드를 리팩터링할 수 있습니다.

'use' 문 내 불필요한 선행 '\'

'use' 문 내 불필요한 선행 '\'

일부 사례의 경우, 네임스페이스에서 선행 백슬래시가 중복됩니다. PhpStorm은 이러한 중복을 제거할 수 있는 위치를 파악해줍니다.

'foreach' 변수가 이미 정의된 변수를 덮어씀

'foreach' 변수가 이미 정의된 변수를 덮어씀

foreach 루프의 키 및 값에 대한 변수는 다른 변수 또는 매개변수의 이름과 충돌할 수 있습니다. PhpStorm은 오류가 발생할 수 있는 모든 위치를 강조 표시합니다.

변수의 불필요한 중괄호 구문

변수의 불필요한 중괄호 구문

PhpStorm은 문자열 보간 컨텍스트에 중복된 중괄호를 안전하게 제거해 코드를 깔끔하게 만들 수 있는 경우 강조 표시합니다.

매개변수 유형을 디폴트 값에 따라 변경

매개변수 유형을 디폴트 값에 따라 변경

선언된 유형이 값 유형과 일치하지 않으면 Alt+Enter를 사용하여 유형을 빠르게 업데이트할 수 있습니다. 또는 PHP 8의 경우 PhpStorm은 공용체 유형을 사용하도록 제안합니다.

'isset'을 '!== null'로 바꾸기

'isset'을 '!== null'로 바꾸기

isset() 함수는 배열과 변수에서만 사용하는 것이 효과적입니다. 다른 모든 경우에는 피연산자가 null이 아닌지 확인하는 것이 좋습니다. Alt+Enter를 사용해 isset() 검사를 null 검사로 바꾸세요.

안전하지 않은 http:// 링크 강조 표시

PhpStorm은 문자열 내 http:// 프로토콜의 사용 위치를 강조 표시하고 https://로 바꾸도록 Alt-Enter 빠른 수정을 제안합니다. 또한 빠른 수정을 사용해 URL을 무시 목록에 추가할 수 있습니다.

의심스러운 이름 조합

의심스러운 이름 조합

PhpStorm은 $needle$haystack 또는 $x$y와 같은 매개변수 이름 또는 반환 값의 일반적인 잘못된 사용을 강조 표시합니다. 이는 잠재적 버그이거나 코드를 읽는 사람들에게 매우 혼동을 줄 수 있습니다.

커밋 전 검사 구성

커밋 전 검사 구성

이제 VCS에 변경 내용을 커밋하기 전에 코드 검사 프로파일을 선택할 수 있습니다. 커밋 옵션을 표시하려면 톱니바퀴 아이콘을 클릭하고 Analyze code(코드 분석) 체크박스를 선택한 다음, Configure(구성)를 클릭하고 원하는 프로파일을 선택하세요. 프로파일은 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Inspections(검사)에서 만들 수 있습니다.

기타

리팩터링을 향상하는 통합 범위

리팩터링을 향상하는 통합 범위

PHP에서 foreach, for, while, catch 블록과 같은 루프 구문에는 분리된 범위가 없습니다. 블록 내부에 있는 변수의 이름만 변경하고 싶은 경우 불편할 수 있습니다.

PhpStorm 2021.1에서는 그러한 블록에 통합 범위를 도입하여 Rename(이름 변경) 리팩터링(Shift+F6)을 더 직관적으로 만들었습니다.

향상된 자동 언어 삽입

향상된 자동 언어 삽입

PhpStorm 2021.1은 변수의 사용 방식을 분석하여 언어 참조를 자동으로 삽입합니다.

예를 들어 변수가 preg_* 함수에서 사용되는 경우 PhpStorm은 해당 변수가 패턴이라는 것을 인지하고 정규식을 강조 표시합니다.

composer.json의 'suggest' 섹션에 있는 확장 기능 고려

composer.json의 'suggest' 섹션에 있는 확장 기능 고려

이제 PhpStorm은 requiresuggest 섹션에 있는 확장 기능을 모두 고려합니다.

확장 기능이 제안된 대로 composer.json에 등록되었으나 extension_loaded()function_exists()처럼 검사 없이 사용되고 있는 경우 PhpStorm은 이를 경고합니다. 빠른 수정을 사용하면 require/require-dev로 확장 기능을 이동할 수 있습니다.

주목할 만한 수정 사항

이번 릴리스에서는 안정성과 품질에 주로 초점을 맞춰 사용자 및 JetBrains 팀원이 이슈 트래커에 제출한 이슈 중 총 2,246개를 수정했습니다. 다음은 가장 흥미로운 수정 사항 중 일부입니다.

  • 이제 Docker에서 WSL 2 프로젝트를 디버그할 수 있습니다.
  • 이제 품질 도구가 exec 모드의 docker-compose에서 경로를 올바르게 해결합니다.
  • 대규모 파일(5,000줄 초과)이 올바르게 처리됩니다.
  • 수많은 별칭이 있는 프로젝트에서 성능이 크게 개선되었습니다.

Code With Me

Code With Me를 사용하여 공동 개발

Code With Me는 공동 개발 및 페어 프로그래밍을 위한 새로운 JetBrains 도구입니다. 최초로 PhpStorm 2020.3에서 도입했었고 이번 릴리스에서는 수많은 중요한 개선 사항을 제공합니다.

프로젝트에 필요한 액세스 수준을 설정하고 게스트와 링크를 공유하세요. 협업을 위해 동료가 개별적으로 IDE를 설치할 필요가 없으며 플랫폼에 채팅 메시지 기능과 더불어 내장된 음성 및 영상 통화 기능이 포함되어 있습니다.

더 강력한 보안이 필요한 비즈니스의 경우, Code With Me 온프레미스를 설치하여 회사 자체의 비공개 네트워크에서 안전하게 실행할 수 있습니다.

HTTP 클라이언트

SSL 지원

SSL 지원

이제 Add environment file(환경 파일 추가)을 클릭하고 Private(비공개)을 선택하여 HTTP 클라이언트에서 SSL 설정을 정의할 수 있습니다. IDE는 SSL 구성(clientCertificate, hasCertificatePassphrase, clientCertificateKey, verifyHostCertificate)을 추가할 수 있는 파일을 자동으로 생성합니다.

UI 개선 사항

UI 개선 사항

본문 표시 방식에 대한 옵션이 포함된 새로운 눈 모양 아이콘이 추가되었습니다. 또한 Text/JSON/HTML/XML 간 모드를 전환하고 줄 번호를 사용할 수 있으며 빠르게Copy Response Body to Clipboard(응답 본문을 클립보드로 복사)를 수행할 수 있는 새로운 버튼이 추가되었습니다.

IDE

분할 뷰의 탭 최대화

분할 뷰의 탭 최대화

탭을 IDE 창 모서리로 드래그하여 에디터를 분할한 다음, 해당 탭을 두 번 클릭하면 탭의 에디터 영역을 최대화할 수 있습니다. 다시 두 번 클릭하면 원래 크기로 돌아갑니다.

JSONPath 지원

JSONPath 지원

JSONPath 쿼리 언어를 사용해 JSON 문서를 검색할 수 있습니다. 새로운 액션은 Edit(편집) | Find(찾기) | Evaluate JSONPath(JSONPath 평가)에서 사용할 수 있습니다.

JSON Lines 형식 지원

JSON Lines 형식 지원

PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. IDE는 .jsonl, .jslines, .ldjson.ndjson 파일 형식을 인식합니다.

타이포그래피 설정

타이포그래피 설정

글꼴 변형 및 대체 글꼴을 조정할 수 있습니다. 이 새로운 옵션은 Settings(설정)/Preferences(환경 설정) | Editor(에디터) | Fonts(글꼴)Typography Settings(타이포그래피 설정)에서 찾을 수 있습니다.

웹 기술

WebStorm 2021.1모든 새로운 기능 및 개선 사항은 PhpStorm 2021.1에서도 바로 사용할 수 있거나 Plugin Marketplace에서 제공되는 무료 플러그인을 통해 사용할 수 있습니다.

향상된 Stylelint 지원

향상된 Stylelint 지원

Stylelint를 사용해 단 몇 번의 클릭으로 CSS 문제를 수정할 수 있습니다. 파일에 있는 문제를 마우스로 가리키거나 그 자리에 캐럿을 놓고 Alt+Enter를 누른 다음, Stylelint: Fix current file(Stylelint: 현재 파일 수정)을 선택하세요.

또한 Settings(설정)/Preferences(환경 설정) | Languages & Frameworks(언어 및 프레임워크) | Style Sheets(스타일시트) | Stylelint에서 구성 파일 경로를 지정할 수 있습니다.

선택자의 명시도 확인

선택자의 명시도 확인

When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. 또는 선택자에 초점을 맞추고 F1/Ctrl+Q를 눌러 Documentation(문서) 팝업에서 이 정보를 확인하세요.

GitHub 풀 리퀘스트 개선 사항

풀 리퀘스트를 새로 생성하려면 + 아이콘을 클릭하거나 Git | GitHub | Create Pull Request(풀 리퀘스트 생성)로 이동하세요.

GitHub 풀 리퀘스트 개선 사항

새로운 대화상자에서는 다음과 같이 필요한 모든 작업을 수행할 수 있습니다.

  • 사용 가능한 모든 브랜치가 포함된 목록에서 베이스 및 헤드 브랜치를 선택할 수 있습니다.
  • Files(파일) 탭에서 변경된 파일을 검토할 수 있습니다.
  • 풀 리퀘스트의 제목과 설명을 편집하고 검토자와 담당자를 지정하고 라벨을 추가할 수 있습니다.
  • 초안 풀 리퀘스트를 생성할 수 있습니다.

데이터베이스 도구

DataGrip 2021.1의 새로운 기능을 살펴보세요. 이 모든 기능이 PhpStorm에도 제공됩니다. 다음은 그 중 몇가지입니다.

권한 부여용 UI

권한 부여용 UI

데이터베이스 탐색기에서 Cmd/Ctrl+F6을 누르면 사용자를 호출할 수 있는 Modify user(사용자 수정) 창에 이제 객체에 권한을 추가할 수 있는 UI가 있습니다.

이 기능은 PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server, Sybase에서 사용할 수 있습니다.

컨텍스트 라이브 템플릿

컨텍스트 라이브 템플릿

이 템플릿은 데이터베이스 탐색기에서 바로 간단한 구문을 생성하려는 사용자를 위한 솔루션입니다. 탐색기에서 객체를 마우스 오른쪽 버튼으로 클릭하면, 표시 목록에 특별한 라이브 템플릿 항목이 있습니다.

자신만의 고유한 컨텍스트 라이브 템플릿을 만드는 방법을 자세히 알아보세요.