PyCharm 2024.1의 새로운 기능

Hugging Face 모델 및 데이터 세트에 대한 문서 미리보기, JavaScript 및 TypeScript에 대한 로컬 ML 기반의 전체 줄 코드 완성, 에디터 내 고정된 줄, 그리고 에디터 내 코드 검토 제공

Hugging Face: 모델 및 데이터세트에 대한 빠른 문서 미리보기

작업 중인 Hugging Face 모델이나 데이터세트에 대한 모든 정보를 PyCharm 내에서 바로 얻으세요. 데이터 세트나 모델 이름 위로 마우스를 가져가면 팝업에 설명이 표시됩니다. 또는 F1을 눌러 에디터 옆에 Documentation(문서) 도구 창을 열 수 있습니다. Hugging Face 웹사이트의 문서로 이동하려면 ⌘+클릭(Windows 및 Linux의 경우 Ctrl+클릭)을 사용하세요.

JavaScript 및 TypeScript에 전체 줄 코드 완성 제공 PyCharm Professional

PyCharm 2023.3에서는 Python 코드에 로컬 ML 기반 전체 줄 코드 완성 기능을 제공했습니다. 2024.1에서는 이러한 한 줄 제안이 지원되는 언어 범위를 확장했습니다. 그리고 이번에는 JavaScript, TypeScript 및 프런트엔드 프레임워크에서 전체 줄 완성 제안도 제공합니다. 이러한 제안은 현재 파일의 컨텍스트를 사용하고 인터넷을 통해 코드를 전송하는 일 없이 로컬로 실행되는 특수 언어 모델을 통해 제공됩니다.

에디터 내 고정된 줄

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

에디터 내 코드 검토

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

새 터미널 베타

PyCharm 2024.1에서는 명령줄 작업을 단순화하기 위해 시각적, 기능적 개선이 이루어진 재작업된 터미널을 선보입니다. 새로운 터미널은 간편한 명령어 탐색, 키보드 단축키를 통한 프롬프트와 출력 간 전환 기능, 명령어 완성, 명령어 기록에 대한 빠른 액세스와 같은 고급 기능을 제공합니다. 이 단계에서는 여러분의 피드백이 매우 중요하므로 직접 사용해 보고 경험에 대한 생각을 공유해 주시기 바랍니다. 자세한 내용은 이 블로그 게시물에서 알아보세요.

새로운 AI Assistant 기능 PyCharm Professional

한 번 클릭으로 생성된 코드로 파일 만들기

이 새로운 AI Assistant 기능을 사용하면 쿼리 실험에서 실제 코드 구현까지 더 빠르게 진행할 수 있습니다. 이제 새로운 Create a file(파일 생성) 버튼이 JetBrains AI Assistant로 생성된 모든 코드 스니펫의 상단에 표시됩니다. 버튼을 클릭하면 PyCharm이 자동으로 올바른 확장자를 가진 파일을 생성하고 해당 파일에 코드를 입력합니다.

스키마를 인식하는 SQL 쿼리 생성

AI Assistant를 사용하면 쿼리 응답에 대한 스키마를 인식하는 설명을 얻을 수 있을 뿐만 아니라 데이터베이스 컨텍스트에서 제공된 컨텍스트로 쿼리를 빠르게 생성하고 데이터베이스 내에서 스마트 검색을 수행할 수 있습니다.

사용자 경험

전체 IDE 축소 옵션

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

프레임워크 및 기술 PyCharm Professional

Django Structure(Django 구조) 도구 창에서 모델 admin 클래스 등록

PyCharm 2024.1에서는 Django Structure(Django 구조) 도구 창에서 등록되지 않은 admin 클래스를 빠르게 확인하고 한 번 클릭으로 등록할 수 있습니다.

Endpoints(엔드포인트) 도구 창에서 대규모 Flask 및 FastAPI 애플리케이션 지원

PyCharm 2024.1에서 큰 규모의 Flask 또는 FastAPI 애플리케이션을 작업할 때, Endpoints(엔드포인트) 도구 창을 확인하여 기존 엔드포인트와 해당 계층 구조를 명확하게 파악할 수 있을 뿐만 아니라 프로젝트의 엔드포인트에서 해당 선언으로 빠르게 이동할 수 있습니다. Flask로 빌드된 대규모 애플리케이션, 특히 FastAPI로 빌드된 애플리케이션은 일반적으로 더 세분화된 모듈(Flask의 블루프린트 및 FastAPI의 라우터)을 중심으로 빌드된 복잡한 계층 구조를 갖습니다. 이러한 구조에 대한 명확한 개요를 제공하여 사용자가 상속을 더 빠르게 이해할 수 있도록 이제 PyCharm은 애플리케이션별로 엔드포인트를 그룹화합니다. 또한 PyCharm은 라이브러리에 선언된 엔드포인트는 물론, 경로별 여러 엔드포인트와 다양한 HTTP 메서드에 대한 엔드포인트까지 탐지할 수 있습니다.

향상된 GitHub Actions 지원

PyCharm 2024.1은 CI/CD 워크플로를 최적화할 수 있도록 설계된 향상된 GitHub Actions 지원을 제공합니다. 이제 코드 완성 기능이 github.*, env.*, steps.*, inputs.*을 포함한 다양한 관련 컨텍스트를 다루므로 스크립트 생성이 더 쉬워지고 컨텍스트별 구문 검색에 소요되는 시간이 단축됩니다. YAML 구조에 제공되는 자동 완성은 오류 없는 워크플로를 보장하며, 새로운 브랜딩 기능을 사용하면 GitHub Marketplace에서 자신의 액션을 돋보이게 할 수 있습니다. Docker 이미지 완성은 컨테이너 통합을 단순화하고, JavaScript 파일 경로 완성은 JavaScript 액션 구성을 간편하게 만들어 워크플로의 능률을 높입니다. 자세한 내용은 이 블로그 게시물에서 확인할 수 있습니다.

HTTP 클라이언트 개선 사항

PyCharm 2024.1의 HTTP 클라이언트는 PKCE(Proof of Key Code Exchange) 인증 코드 및 OAuth 2.0 기기 인증 부여 흐름을 포함하여 더 다양한 인증 옵션을 제공합니다. 또한 PKCE 요청 중 토큰 검색을 위한 code_challenge 생성 및 code_verifier 전달을 이제 자동으로 처리할 뿐만 아니라 토큰 및 인증 요청을 위한 추가 매개변수도 지원합니다. HTTP 클라이언트가 낮은 수준의 네트워킹 라이브러리인 Netty로 업그레이드되면서 SSL, 프록시 및 HTTP/2 지원이 가능해져 HTTP/2 구현이 쉬워졌습니다.

최적화된 JSON 스키마 처리

JSON 스키마 유효성 검사 및 완성 기능의 기반 코드를 최적화했습니다. 이에 따라 이제 PyCharm은 JSON 스키마를 더 빠르게 더 적은 메모리로 처리합니다. Azure Pipelines를 사용한 실제 파일의 경우, 스키마 검사 속도가 10배 빨라졌습니다.

WireMock 서버 지원

사용자가 IDE에서 설치하거나 JetBrains Marketplace에서 받을 수 있는 플러그인을 통해 WireMock 지원을 구현했습니다. 이 지원에는 JSON 구성을 위한 스키마 완성, Endpoints(엔드포인트) 도구 창에서 WireMock 스텁 파일을 생성하는 기능, 에디터에서 바로 서버를 가동할 수 있는 내장 실행 구성이 포함됩니다. 이를 통해 테스트 데이터 서버 또는 스텁을 신속하게 생성하여 웹 UI 및 마이크로서비스 개발을 단순화할 수 있습니다.

프런트엔드 개발 PyCharm Professional

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

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

GraphQL 개선 사항

GraphQL 플러그인에서는 색인 생성 성능을 최적화하고 node_modules 및 외부 라이브러리의 스키마를 처리하도록 지원을 확장했습니다.

TypeScript에 대한 빠른 문서 개선 사항

이제 인터페이스 멤버, 열거형 상수 및 타입 별칭 본문이 빠른 문서 팝업에 표시됩니다. Show more(더보기) 링크를 클릭하면 전체 목록을 확인하고 참조된 타입으로 이동할 수 있습니다. 대화상자 상단에 있는 페이징 컨트롤을 사용하면 인터페이스, 타입 별칭, 열거형, 함수 및 기타 엔티티의 여러 선언 사이를 탐색할 수 있습니다.

React용 새로운 빠른 수정

PyCharm 2024.1에는 prop과 상태를 즉시 생성할 수 있는 몇 가지 새로운 React용 빠른 수정이 도입되었습니다. ⌥Enter(Windows/Linux의 경우 Alt+Enter) 단축키를 사용하면 이러한 빠른 수정을 적용할 수 있습니다.

향상된 Terraform 지원 PyCharm Professional

PyCharm 2024.1은 인프라 생성, 관리, 확장 프로세스를 단순화하는 향상된 Terraform 지원을 제공합니다. 이제 IDE는 terraform init을 실행하라는 명시적인 제안을 통해 효율적으로 초기화하고, 3,900개 이상의 타사 Terraform 공급자에 확장된 코드 완성 기능을 제공합니다. 또한 IDE에 Terraform의 템플릿 언어(tftpl)에 대한 지원이 도입되어 선호하는 프로그래밍 언어와 원활하게 통합할 수 있는 옵션을 통해 동적 템플릿 작성이 가능해졌습니다. 자세한 내용은 블로그 게시물에서 확인할 수 있습니다.

버전 관리 시스템

Git 도구 창의 CI 검사 상태

CI 시스템에서 수행한 GitHub 커밋 검사 결과를 쉽게 검토할 수 있도록 Git 도구 창의 Log(로그) 탭에 새 열을 도입했습니다.

푸시 알림에서 풀 리퀘스트/병합 요청 생성

이제 PyCharm은 변경 사항을 버전 관리 시스템에 성공적으로 푸시한 후, 사용자에게 푸시에 성공했음을 알리고 풀 리퀘스트/병합 요청을 생성하기 위한 액션을 제안합니다.

Git 도구 창의 History(기록) 탭에 적용된 브랜치 필터

Git 도구 창의 파일 기록에 대한 사용자 환경을 개선했습니다. 우선, Show all branches(모든 브랜치 표시) 버튼이 브랜치 필터로 대체되어, 지정된 브랜치 내의 파일에 대한 변경 사항을 검토할 수 있습니다. 또한 더 편리한 사용을 위해 툴바의 방향을 수평으로 배치했습니다.

기타 개선 사항

  • GitHub 및 GitLab의 경우, Git 도구 창에 있는 별도의 Log(로그) 탭에서 특정 브랜치의 변경 사항을 표시하도록 선택할 수 있습니다.
  • 이모티콘 모음에서 감정 이모티콘을 선택하여 코드 검토 코멘트에 추가할 수 있습니다.
  • 대용량 파일로 인해 버전 관리 시스템이 이를 거부하는 것을 방지하기 위해 이러한 파일을 커밋하지 못하게 하고 제한 사항을 알리는 커밋 전 검사가 IDE에 포함되었습니다.
  • Merge into(...에 병합) 대화상자에 Allow unrelated histories(관련 없는 기록 허용) 옵션이 추가되어 공통된 기록이 없더라도 두 개의 브랜치를 병합할 수 있습니다.
  • Commit(커밋) 도구 창의 전용 Stash(스태시) 탭에서 스태시 처리된 변경 사항을 확인할 수 있습니다. 스태시 항목과 보류된 항목을 모두 사용하려면, 이 둘을 결합한 Stashes and Shelves(스태시 및 보류 항목) 탭을 활성화하면 됩니다.
  • Diff 뷰어에는 관련 변경 사항에만 집중할 수 있도록 폴더와 파일을 비교에서 제외하는 옵션이 생겼습니다. 간단히 원하는 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하고 Exclude from results(결과에서 제외)를 선택하면 됩니다.
  • Branches(브랜치) 팝업에서 액션 및 저장소별로 검색 결과를 필터링할 수 있습니다.
  • Rebase(리베이스) 대화상자에 --update-refs 옵션이 추가되어, 리베이스가 진행되는 동안 수정된 내용이 Git 저장소의 기록에 반영됩니다.
  • Search Everywhere(전체 검색)에서 Git 탭이 더 이상 기본적으로 표시되지 않습니다. 이 탭은 Settings(설정)/Preferences(환경 설정) | Advanced Settings(고급 설정) | Version Control. Git(버전 관리. Git)에서 추가할 수 있습니다.

데이터베이스 도구 PyCharm Professional

세션에 대한 단순화된 접근 방식

데이터 소스 연결 관리 및 쿼리 실행 시 원활한 경험을 제공하기 위해 세션이 작동하는 방식을 개편했습니다. 이제 파일 연결이나 함수 실행과 같은 작업을 수행할 때, 올바른 세션을 고를 필요 없이 필요한 데이터 소스나 실행 컨텍스트만 선택하면 됩니다. 또한 Services(서비스) 도구 창의 전용 액션을 통해 동일한 데이터 소스 내에서 세션을 쉽게 전환할 수 있습니다. 이러한 변경 사항은 작업 흐름을 더욱 원활하고 직관적으로 만들도록 고안되었습니다.

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

이제 쿼리가 실행될 때까지 기다리지 않고 현재 페이지에서 바로 열 값으로 행을 신속하게 필터링할 수 있습니다. 이 로컬 방식은 표시된 페이지에만 적용되지만, 언제든지 페이지 크기를 변경할 수 있고, 범위를 확장해야 하는 경우에는 모든 데이터를 가져올 수도 있습니다. 현재 데이터 에디터에서 모든 로컬 필터를 비활성화하려면, Enable Local Filter(로컬 필터 활성화) 아이콘  을 선택 해제하면 됩니다.

단일 레코드 뷰

이제 데이터 에디터에서 단일 레코드에 집중할 수 있습니다. 레코드 뷰를 열려면 macOS에서 ⌘⇧Enter 단축키(Windows/Linux의 경우 Ctrl+Shift+Enter)를 사용하거나, 툴바에서 Show Record View(레코드 뷰 표시) 버튼을 사용하세요. 레코드 뷰는 값 에디터와 집계 뷰가 있는 측면 패널에서 열립니다. 레코드 뷰의 셀도 편집 가능합니다(기본 그리드에서 셀을 편집할 수 있는 경우).

CSV 파일의 열을 이동하는 기능

2024.1부터 데이터 에디터에서 CSV 파일의 열을 이동할 수 있으며 변경 사항이 파일 자체에 적용됩니다.