PhpStorm 2024.1의 새로운 기능

이번 버전의 주요 사항은 다음과 같습니다.

  • 로컬 AI 기반의 전체 줄 코드 완성
  • Symfony AssetMapper 지원
  • 새로운 터미널
  • Pest 관련 개선 사항
  • PHPUnit 11.0 지원

로컬 AI 기반의 전체 줄 코드 완성

인터넷에 액세스할 수 없을 때에도 PHP 코드를 비롯해 JavaScript, TypeScript 및 HTML의 각 줄에 자동 완성을 사용할 수 있습니다. 전체 줄 코드 완성을 활용하면 로컬 LLM이 사용자의 기기에서 직접 데이터를 처리하고 분석하므로 지연이 최소화되어 매우 빠른 오프라인 코드 완성을 이용할 수 있습니다.

이 방식에서는 존재하지 않는 변수나 메서드가 생성된 코드에 절대 포함되지 않으며, 외부 서버 연결이 필요 없으므로 데이터 및 개인정보 보호 정책도 계속 준수할 수 있습니다. 이 기능은 PhpStorm의 유료 구독 요금제에 포함되어 있으므로 추가 라이선스가 필요하지 않습니다.

로컬 AI 코드 완성

Symfony AssetMapper 지원

Symfony AssetMapper 지원

이제 importmap.php로 빠르게 누락된 모듈과 패키지를 설치하고 해당하는 클래스와 메서드에 모든 자동 완성 기능을 사용할 수 있습니다.

새 터미널 베타

이제 새로운 터미널을 사용해 볼 수 있습니다. Settings(설정) | Tools(도구) | Terminal(터미널) | Enable New Terminal(새 터미널 활성화)에서 이전 터미널과 새 터미널 사이를 전환할 수 있습니다.

현재는 Bash, Zsh 및 PowerShell만 지원되며 다른 셸은 개발 중입니다.

에디터 내 고정된 줄

이 기능을 사용하면 스크롤할 때 클래스나 메서드의 시작 부분과 같은 주요 구조 요소를 에디터 상단에 고정할 수 있습니다. 이렇게 하면 범위가 항상 표시되고, 고정된 줄을 클릭하여 코드를 즉시 탐색할 수 있습니다.

Pest 관련 개선 사항

Go to(다음으로 이동) 액션 메뉴에서 테스트 및 메서드 간의 탐색과 빠른 수정을 사용할 때 중복 테스트 및 사용자 지정 기댓값 간의 이동이 개선되었습니다. 이에 더해서 Run(실행) 도구 창에서 테스트의 소스 코드를 열 때 발생하던 탐색 문제도 수정되었습니다.

또한 PHP 클래스와 메서드에 대한 Pest 테스트를 생성하는 기능과 Intention actions(인텐션 액션) 메뉴에서 Pest 테스트를 생성하는 기능도 추가되었습니다.

일부 Pest assert 메서드 호출을 간소화하는 검사도 추가되었습니다.

PHPUnit 11.0 지원

이제 PhpStorm이 PHPUnit 11로 테스트를 실행할 수 있습니다. IDE가 구성 파일에서 지원 중단된 속성을 탐지하면, 이에 맞는 알림을 사용자에게 표시하고 빠른 수정을 제공하며 자동으로 구성 파일을 새로운 버전으로 마이그레이션합니다.

이에 더해서 반환 스텁 구성 객체를 생성할 때 지원 중단된 TestCase 메서드에 대한 검사와 빠른 수정이 추가되었습니다.

또한 Deprecated usage of data providers(지원 중단된 데이터 제공자의 사용 위치) 검사도 추가되어 PHPUnit 11이 사용될 때 경고가 표시되며, 테스트를 시작할 때 --cache-result-file 옵션을 더 이상 사용하지 않습니다.

dd, var_dump,symfony/var-dumper 개선

에디터에서 바로 클래스 및 파일 링크를 열고 콘솔 출력에서 구조를 접거나 펼칠 수 있습니다.

composer.json에서 취약한 PHP 패키지 검사

PhpStorm이 프로젝트의 PHP 패키지를 Checkmarx 데이터베이스와 교차 검증하며 검사를 통해 composer.json 파일 내에서 취약한 패키지를 강조 표시합니다.

Rsync: WSL 지원

이제 rsync 도구 배포 시 사용될 WSL 배포 경로를 사용할 수 있습니다.

프런트엔드 업데이트

Vue, Svelte 및 Astro 파일

Vue, Svelte 및 Astro의 구성 요소 사용 위치

PhpStorm은 이제 Vue, Svelte 및 Astro 파일의 구성 요소 사용 위치에 대해 에디터 내 힌트를 제공합니다. 이에 따라 프로젝트 어디에서나 특정 구성 요소의 모든 사용 위치를 빠르게 찾을 수 있습니다.

Language Services(언어 서비스) 위젯

상태 표시줄에 새로운 Language Services(언어 서비스) 위젯이 추가되어, 여기서 현재 파일 및 프로젝트의 활성 언어 서비스에 대한 정보를 확인할 수 있습니다. 이 위젯에서 바로 서비스를 다시 시작하거나 해당 설정으로 이동할 수 있습니다.

기타 개선 사항

전체 IDE 축소 옵션

IDE 배율을 90%, 80% 혹은 70%로 축소할 수 있어 IDE 요소의 크기를 유연하게 키우거나 줄일 수 있습니다.

class-string 타입 지원 개선

PhpStorm이 class-string 타입을 가진 엔티티에 대해서 정적 메서드 완성을 제공합니다.

에디터 내 코드 검토

PhpStorm 2024.1에서는 새로운 검토 모드가 구현되어 GitHub 및 GitLab 사용자의 코드 검토 경험이 개선되었습니다. 에디터에 통합되어 있는 이 기능으로 작성자와 검토자는 직접 더 원활하게 소통할 수 있습니다. 풀 리퀘스트/병합 요청 브랜치를 확인할 때 검토 모드가 자동으로 활성화되고, 여백에 분홍색 마커가 표시되어 검토할 코드 변경 사항이 있다는 사실을 알립니다. 이러한 마커를 클릭하면 원본 코드가 표시되어 변경 사항을 빠르게 식별할 수 있습니다. 여백 아이콘을 활용하면 새로운 논의를 빠르게 시작할 수도 있고 기존의 논의를 표시하거나 숨길 수도 있습니다. 코멘트에도 쉽게 액세스할 수 있어 쉽게 이를 검토하고 답변하거나 감정 이모티콘을 추가할 수 있습니다.

데이터 에디터 내 로컬 필터링

이번 릴리스에는 모두가 오랫동안 기다려온 데이터 에디터 내 로컬 필터링 기능이 추가되었습니다. 이제 데이터베이스에 쿼리를 보낼 필요 없이 열의 값으로 행을 빠르게 필터할 수 있습니다. 이 로컬 방식은 현재 페이지에만 적용되지만, 언제든지 페이지 크기를 조정할 수 있고, 범위를 확장해야 하는 경우에는 모든 데이터를 가져올 수도 있습니다. 모든 로컬 필터를 비활성화하려면 해당 Enable Local Filter(로컬 필터 활성화) 아이콘을 선택 해제하세요.