composer.json
을 수정할 필요 없이 프로젝트의 PHP 버전을 설정할 수 있습니다. 이 기능은 예를 들어 최신 PHP 버전으로 바꾸기 전에 코드베이스가 해당 버전과 호환되는지 확인할 때 유용합니다.
PHP 관련 설정을 더 쉽게 찾고 변경할 수 있도록 이 섹션을 최상위 Settings(설정)/Preferences(환경 설정) | PHP로 옮겼습니다.
PhpStorm 내에서 파일을 미리 볼 수 있는 탭을 여는 아이콘이 에디터의 오른쪽 상단 모서리에 새로 추가되었습니다. 이 기능은 HTML 및 PHP 파일에서 작동합니다.
PHP 파일을 열고 코드를 입력하면 결과를 바로 옆에서 나란히 확인할 수 있습니다. 다른 창으로 전환할 필요가 없습니다. 연결된 CSS 및 JavaScript 파일의 변경 내용도 미리보기에 반영됩니다.
PhpStorm은 Settings(설정)/Preferences(환경 설정) | PHP의 프로젝트 설정에 지정된 로컬 PHP 인터프리터를 사용합니다. Docker 및 기타 원격 인터프리터는 지원되지 않습니다.
미리보기 아이콘을 켜려면 Preferences(환경 설정) | Tools(도구) | Web Browsers(웹 브라우저)에서 1개 이상의 브라우저를 활성화하고 For HTML files(HTML 파일) 체크박스를 선택하면 됩니다.
또한 Alt+F2 단축키를 사용해서 미리보기 탭을 열 수도 있습니다.
수많은 콘텐츠 관리 시스템 및 프레임워크에서는 테이블 접두사를 지정할 수 있으며, 이는 여러 애플리케이션에서 동일한 데이터베이스를 사용할 때 유용합니다.
이러한 경우 이전 버전의 PhpStorm에서는 SQL 쿼리에 접두사의 마커가 포함되어 데이터베이스 통합이 손실되었습니다.
이제 .phpstorm.meta.php 파일을 통해 접두사를 지정할 수 있습니다. 메타 파일 설명과 SQL 접두사를 지정하는 방법에 관해서는 도움말 글에서 자세히 알아보세요.
bool 표현식에 true
또는 false
리터럴이 있는 경우, PhpStorm을 사용하면 이를 단순화할 수 있습니다. Alt+Enter 빠른 수정을 사용해 중복을 제거하고 가독성을 높이세요.
엄격한 비교에 사용되는 ===
연산자는 하나의 피연산자 유형이 다른 피연산자의 유형과 같지 않은 경우 항상 false
를 도출합니다.
이러한 경우 잠재적인 버그의 원인이 될 수 있으므로 PhpStorm은 이를 강조 표시합니다. PhpStorm은 모든 유형 추론 정보를 고려하여 불분명한 사례에서도 문제를 찾아낼 수 있도록 도와줍니다.
매개변수 이름을 모방하기 위해 함수 호출에 변수 대입을 추가하는 것은 일반적 관행이었습니다.
PHP 8에서는 Alt+Enter를 눌러 대입을 실제로 이름 지정된 인수로 바꿀 수 있습니다.
이 코드 스니펫 isset($a) ? $a : $b;
은 $a ?? $b
와 정확히 동일하므로 이를 바꾸도록 PhpStorm에서 Alt+Enter 빠른 수정을 제안합니다.
일부 if
또는 else
블록은 본문이 동일해지도록 변경하고 나면 중복될 수 있습니다. 이때 PhpStorm은 공통 부분을 추출하거나 블록을 병합하도록 제안합니다.
임의의 'if'
에서 Alt-Enter를 누르고 Invert 'if' statement('if' 문 반전)을 선택해보세요. 그러면 조건이 반대로 변경되고 필요한 코드 조정이 수행되어 논리가 보존됩니다. 조기 반환의 사용을 선호한다면 이 액션을 사용해 코드를 리팩터링할 수 있습니다.
일부 사례의 경우, 네임스페이스에서 선행 백슬래시가 중복됩니다. PhpStorm은 이러한 중복을 제거할 수 있는 위치를 파악해줍니다.
foreach 루프의 키 및 값에 대한 변수는 다른 변수 또는 매개변수의 이름과 충돌할 수 있습니다. PhpStorm은 오류가 발생할 수 있는 모든 위치를 강조 표시합니다.
PhpStorm은 문자열 보간 컨텍스트에 중복된 중괄호를 안전하게 제거해 코드를 깔끔하게 만들 수 있는 경우 강조 표시합니다.
선언된 유형이 값 유형과 일치하지 않으면 Alt+Enter를 사용하여 유형을 빠르게 업데이트할 수 있습니다. 또는 PHP 8의 경우 PhpStorm은 공용체 유형을 사용하도록 제안합니다.
isset()
함수는 배열과 변수에서만 사용하는 것이 효과적입니다. 다른 모든 경우에는 피연산자가 null
이 아닌지 확인하는 것이 좋습니다. Alt+Enter를 사용해 isset()
검사를 null
검사로 바꾸세요.
PhpStorm은 문자열 내 http://
프로토콜의 사용 위치를 강조 표시하고 https://
로 바꾸도록 Alt-Enter 빠른 수정을 제안합니다. 또한 빠른 수정을 사용해 URL을 무시 목록에 추가할 수 있습니다.
PhpStorm은 $
needle
및 $haystack
또는 $x
및 $y0>와 같은 매개변수 이름 또는 반환 값의 일반적인 잘못된 사용을 강조 표시합니다. 이는 잠재적 버그이거나 코드를 읽는 사람들에게 매우 혼동을 줄 수 있습니다.
이제 VCS에 변경 내용을 커밋하기 전에 코드 검사 프로파일을 선택할 수 있습니다. 커밋 옵션을 표시하려면 톱니바퀴 아이콘을 클릭하고 Analyze code(코드 분석) 체크박스를 선택한 다음, Configure(구성)를 클릭하고 원하는 프로파일을 선택하세요. 프로파일은 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Inspections(검사)에서 만들 수 있습니다.
PHP에서 foreach
, for
, while
, catch
블록과 같은 루프 구문에는 분리된 범위가 없습니다. 블록 내부에 있는 변수의 이름만 변경하고 싶은 경우 불편할 수 있습니다.
PhpStorm 2021.1에서는 그러한 블록에 통합 범위를 도입하여 Rename(이름 변경) 리팩터링(Shift+F6)을 더 직관적으로 만들었습니다.
PhpStorm 2021.1은 변수의 사용 방식을 분석하여 언어 참조를 자동으로 삽입합니다.
예를 들어 변수가 preg_*
함수에서 사용되는 경우 PhpStorm은 해당 변수가 패턴이라는 것을 인지하고 정규식을 강조 표시합니다.
이제 PhpStorm은 require
및 suggest
섹션에 있는 확장 기능을 모두 고려합니다.
확장 기능이 제안된 대로 composer.json
에 등록되었으나 extension_loaded()
나 function_exists()
처럼 검사 없이 사용되고 있는 경우 PhpStorm은 이를 경고합니다. 빠른 수정을 사용하면 require/require-dev
로 확장 기능을 이동할 수 있습니다.
이번 릴리스에서는 안정성과 품질에 주로 초점을 맞춰 사용자 및 JetBrains 팀원이 이슈 트래커에 제출한 이슈 중 총 2,246개를 수정했습니다. 다음은 가장 흥미로운 수정 사항 중 일부입니다.
Code With Me는 공동 개발 및 페어 프로그래밍을 위한 새로운 JetBrains 도구입니다. 최초로 PhpStorm 2020.3에서 도입했었고 이번 릴리스에서는 수많은 중요한 개선 사항을 제공합니다.
프로젝트에 필요한 액세스 수준을 설정하고 게스트와 링크를 공유하세요. 협업을 위해 동료가 개별적으로 IDE를 설치할 필요가 없으며 플랫폼에 채팅 메시지 기능과 더불어 내장된 음성 및 영상 통화 기능이 포함되어 있습니다.
더 강력한 보안이 필요한 비즈니스의 경우, Code With Me 온프레미스를 설치하여 회사 자체의 비공개 네트워크에서 안전하게 실행할 수 있습니다.
이제 Add environment file(환경 파일 추가)을 클릭하고 Private(비공개)을 선택하여 HTTP 클라이언트에서 SSL 설정을 정의할 수 있습니다. IDE는 SSL 구성(clientCertificate
, hasCertificatePassphrase
, clientCertificateKey
, verifyHostCertificate
)을 추가할 수 있는 파일을 자동으로 생성합니다.
본문 표시 방식에 대한 옵션이 포함된 새로운 눈 모양 아이콘이 추가되었습니다. 또한 Text/JSON/HTML/XML 간 모드를 전환하고 줄 번호를 사용할 수 있으며 빠르게Copy Response Body to Clipboard(응답 본문을 클립보드로 복사)를 수행할 수 있는 새로운 버튼이 추가되었습니다.
탭을 IDE 창 모서리로 드래그하여 에디터를 분할한 다음, 해당 탭을 두 번 클릭하면 탭의 에디터 영역을 최대화할 수 있습니다. 다시 두 번 클릭하면 원래 크기로 돌아갑니다.
JSONPath 쿼리 언어를 사용해 JSON 문서를 검색할 수 있습니다. 새로운 액션은 Edit(편집) | Find(찾기) | Evaluate JSONPath(JSONPath 평가)에서 사용할 수 있습니다.
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를 사용해 단 몇 번의 클릭으로 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(문서) 팝업에서 이 정보를 확인하세요.
풀 리퀘스트를 새로 생성하려면 + 아이콘을 클릭하거나 Git | GitHub | Create Pull Request(풀 리퀘스트 생성)로 이동하세요.
새로운 대화상자에서는 다음과 같이 필요한 모든 작업을 수행할 수 있습니다.
DataGrip 2021.1의 새로운 기능을 살펴보세요. 이 모든 기능이 PhpStorm에도 제공됩니다. 다음은 그 중 몇가지입니다.
데이터베이스 탐색기에서 Cmd/Ctrl+F6을 누르면 사용자를 호출할 수 있는 Modify user(사용자 수정) 창에 이제 객체에 권한을 추가할 수 있는 UI가 있습니다.
이 기능은 PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server, Sybase에서 사용할 수 있습니다.
이 템플릿은 데이터베이스 탐색기에서 바로 간단한 구문을 생성하려는 사용자를 위한 솔루션입니다. 탐색기에서 객체를 마우스 오른쪽 버튼으로 클릭하면, 표시 목록에 특별한 라이브 템플릿 항목이 있습니다.
자신만의 고유한 컨텍스트 라이브 템플릿을 만드는 방법을 자세히 알아보세요.