PyCharm 2023.2: Django용 새 라이브 템플릿, Black 서식 지정 도구 통합, Run Anything(무엇이든 실행) 및 AI Assistant
PyCharm 2023.2에서는 Django 라이브 템플릿 목록이 확장되었습니다. 새로운 라이브 템플릿을 사용하면 짧은 약어를 입력하여 Django 뷰, 양식 및 모델(admin 포함)에 대한 공통 코드 구문을 삽입할 수 있습니다. Settings(설정) | Editor(에디터) | Live Templates(라이브 템플릿) | Django에서 이를 관리할 수 있습니다. 기존 템플릿을 수정하거나 새 템플릿을 만들려면 PyCharm 도움말 페이지를 참조하세요.
또한 템플릿 파일에서 Django 태그를 빠르게 생성하는 데 사용할 수 있는 라이브 템플릿 목록을 확장했습니다. Settings(설정) | Editor(에디터) | Live Templates(라이브 템플릿) | Django Templates(Django 템플릿)에서 업데이트된 목록을 확인할 수 있습니다.
PyCharm 2023.2에는 Black 서식 지정 도구가 기본적으로 통합됩니다. Black이 이미 설치되어 있으면 PyCharm이 이를 탐지하고 프로젝트에 설정하도록 제안합니다.
PyCharm에서 Black은 .py
및 .pyi
파일과 함께 작동합니다. 전체 파일과 파일 조각의 서식을 모두 지정할 수 있습니다. 코드의 서식을 수동으로 다시 지정하거나(Ctrl+Alt+L을 누르거나, 메인 메뉴에서 Code(코드) | Reformat Code(코드 서식 재지정) 선택) 파일에 변경 사항을 저장할 때 내장 서식 지정 도구 대신 Black을 실행할 수 있습니다. 전용 도움말 페이지에서 Black의 구성 옵션에 대해 자세히 알아보세요.
PyCharm 2023.2에는 현재 열려 있는 파일에 관계없이 말 그대로 무엇이든 실행할 수 있는 도구인 Run Anything(무엇이든 실행)이 도입되었습니다. 이를 사용하여 실행/디버그 구성을 신속하게 생성 및 실행하거나, Python 콘솔을 실행하거나, Python 패키지를 관리하거나, 애플리케이션, 스크립트, 명령어 및 작업을 실행할 수 있습니다. Run Anything 팝업을 열려면 Ctrl을 두 번 누릅니다.
이번 PyCharm Professional 릴리스에는 중요한 신규 기능인 AI Assistant가 추가되었습니다. 현재 AI Assistant에서 처음으로 선보이는 AI 기반 기능으로는 통합 AI 채팅, 문서 주석 자동 작성, 이름 제안, 커밋 메시지 생성 등이 있습니다.
AI Assistant는 JetBrains AI 서비스를 기반으로 제공됩니다. 이 서비스를 통해 현재 OpenAI에 연결할 수 있으며 향후 기타 언어 모델 제공업체도 추가될 예정입니다. AI 기능을 이용하려면 JetBrains AI 플러그인을 설치하고 JetBrains Account를 사용해 JetBrains AI 서비스에 로그인해야 합니다. 첫 단계에서 JetBrains AI 서비스 사용 가능 여부는 사람마다 다를 수 있습니다. AI Assistant에 대한 자세한 내용과 사용 방법은 이 블로그 게시물을 참조하세요.
코드에서 Qt Modeling Language(QML)를 사용하신다면 PyCharm의 QML 구문 지원이 도움이 될 겁니다. 지원 내역에는 다음의 기능이 포함됩니다.
PyCharm은 기본적으로 QML 코드에 내장된 코드 스타일 설정을 사용합니다. Settings(설정) | Languages & Frameworks(언어 및 프레임워크) | QML에서 Qt 및 QML 경로, 서식 지정 도구로 qmlformat, 그리고 QML 언어 서버를 구성할 수 있습니다.
Python 실행 구성에 대한 Run/Debug Configurations(실행/디버그 구성) 대화상자를 단순화했습니다. 이제 대화상자가 열리면 가장 많이 사용되는 설정에 즉시 액세스할 수 있습니다. Run with Python Console(Python 콘솔로 실행), Emulate terminal in output console(출력 콘솔에서 터미널을 에뮬레이션 처리) 및 Before Launch(실행 전)와 같은 모든 추가 설정이 이제 Modify options(옵션 수정) 메뉴에 있습니다.
Python Packages(Python 패키지) 도구 창을 사용하면 프로젝트의 PyPI, Conda 또는 비공개 패키지를 빠르고 쉽게 관리할 수 있습니다.
PyCharm 2023.2에서는 Python Packages(Python 패키지) 도구 창의 왼쪽에서 새 패키지 버전 목록을 볼 수 있으며, 필요한 경우 해당 목록에서 직접 새 버전을 다운로드하여 설치할 수 있습니다.
코드 가독성을 개선하기 위해 PyCharm 2023.2에서는 복잡한 타입 힌트를 접을 수 있는 옵션을 제공합니다. 타입 어노테이션 없이 코드를 읽고 싶은 경우, Settings(설정) | Editor(에디터) | General(일반) | Code Folding(코드 접기) | Python | Type annotations(타입 어노테이션)을 선택하면 타입 어노테이션이 기본적으로 접힌 채로 프로젝트가 열립니다. 또한 Collapse Python Type Annotations(Python 타입 어노테이션 접기) 및 Expand Python Type Annotations(Python 타입 어노테이션 펼치기) 액션을 사용하여 타입 어노테이션을 빠르게 숨기거나 필요할 때 다시 표시할 수 있습니다.
Search Everywhere(전체 검색)(Shift 두 번 누르기)는 파일, 클래스, 메서드, 액션 및 설정을 검색하는 데 주로 사용됩니다. 이 기능을 사용하면 지정된 쿼리에 다른 검색 결과가 거의 또는 전혀 없을 때 텍스트 검색 결과가 표시됩니다.
많은 인수가 포함된 함수 호출을 더 쉽게 읽을 수 있도록 PyCharm 2023.2에서는 인레이 매개변수 이름 힌트를 제공합니다. Settings(설정) | Editor(에디터) | Inlay Hints(인레이 힌트)에서 해당 동작을 설정할 수 있습니다. Ctrl+클릭 단축키를 사용하여 특정 메서드에 대한 매개변수 이름 힌트를 비활성화할 수 있습니다.
PyCharm 2023.2는 typing.NoReturn
어노테이션이 추가된 함수 호출을 인식합니다. 이제 IDE는 이러한 함수를 호출할 때 도달할 수 없는 코드 및 잠재적으로 초기화되지 않은 변수에 대한 올바른 정보를 제공합니다.
재정의된 pytest 픽스처에 대해 PyCharm 2023.2는 올바른 타입 추론, 탐색 및 코드 완성을 제공합니다. 이제 IDE는 pytest와 동일한 방식으로 픽스처를 확인합니다. 즉, 우선 테스트 클래스 내에서, 그 다음 현재 파일 내부와 import 문에서, 그리고 마지막으로 가장 가까운 conftest.py
파일에서 픽스처를 확인합니다.
.j2
및 .jinja2
의 경우와 마찬가지로 이제 PyCharm 2023.2는 파일 확장자가 .jinja
인 파일을 Jinja 템플릿으로 자동 인식하고 각각에 대해 구문 강조 표시와 코드 완성을 제공합니다.
예를 들어 Ansible 템플릿과 같이 복합 확장자가 있는 파일에는 이제 템플릿 언어와 데이터 언어 모두에 대해 적절한 구문 강조 표시와 코드 완성이 제공됩니다. 인식되는 텍스트 기반 형식에는 .xml
, .yaml
및 .properties
가 있습니다. *-playbook.yaml
파일은 이제 YAML 데이터 언어를 사용하는 Jinja2 파일로도 탐지됩니다.
pyproject.toml
파일에서 PyCharm 2023.2는 이제 dependencies
및 requires
속성의 패키지 이름에 대한 코드 완성을 제공합니다. IDE는 또한 이러한 속성에서 누락된 패키지 설치를 제안합니다. <py-config>
태그 내의 콘텐츠에 대한 구문 강조 표시를 제공합니다. 또한 <py-script>
태그 내에서 PyCharm은 이제 display
, Element
및 Element.write
요소에 대한 코드 완성을 제공하고 그 인수의 타입을 확인합니다. 이제 각 프로젝트에 고유한 색상과 아이콘을 지정하고 사전 정의된 헤더 색상을 사용자 지정할 수 있습니다. 헤더를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 열면 됩니다. Change Project Color(프로젝트 색상 변경) 옵션을 선택하고 원하는 색상을 선택합니다. 이 기능을 비활성화하려면 컨텍스트 메뉴에서 Show Project Gradient(프로젝트 그라데이션 표시) 옵션을 선택 해제하세요.
2023.2 버전에서는 창 헤더, 툴팁 및 알림 풍선에 그에 어울리는 밝은 색상을 제공하는 Light with Light Header(밝은 헤더가 있는 밝은 테마)라는 또 다른 옵션을 도입하여 Light(밝은) 테마의 사용자 경험을 개선했습니다.
PyCharm 2023.2는 수정 시간을 기준으로 Project(프로젝트) 뷰에서 파일을 정렬하는 옵션을 제공합니다. 이 새로운 기능은 프로젝트의 변경 사항이 저장될 때마다 자동으로 파일을 재정렬합니다. 이 기능을 사용하려면 Project 뷰에서 케밥 메뉴(세로 점 3개)를 열고 Tree Appearance(트리 모양) | Sort by Modification Time(수정 시간을 기준으로 정렬)을 선택하면 됩니다.
여러 실행 구성을 더 쉽게 관리할 수 있도록 Run(실행) 위젯에서 기본 구성을 고정하는 옵션을 구현했습니다. 실행 구성을 Pinned(고정) 섹션에 추가하려면 이름 옆에 있는 케밥 메뉴(세로 점 3개)를 열고 Pin(고정)을 선택합니다. 고정된 구성이 여러 개 있는 경우, 목록 내에서 끌어서 놓아 쉽게 재정렬할 수 있습니다.
PyCharm 2023.2에서는 관리형 Jupyter 서버를 구성할 수 있습니다. 관리형 서버에 대한 환경 변수를 지정하고, 모든 디렉터리에서 시작하도록 관리형 서버를 구성하며, 선택한 Python 인터프리터 외부에 있는 별도의 jupyter.exe
파일을 통해 관리형 서버를 시작할 수 있습니다. Jupyter 또는 JupyterLab 서버에 대한 추가 매개변수를 지정할 수도 있습니다.
PyCharm 2023.2에서는 Jupyter Notebook의 대화형 Polars 테이블로 작업할 수 있습니다. Python 콘솔에서 Special Variables(특수 변수) 목록의 View as DataFrame(DataFrame으로 표시) 옵션을 통해 Polars DataFrames를 검사할 수 있습니다. Python 및 Jupyter 디버거 모두 Polars에서 작동합니다. PyCharm은 테이블의 타입과 차원에 대한 정보를 제공하고 열의 이름과 유형을 완성하며 테이블 정렬을 지원합니다.
단, Scientific Mode(과학 모드)에서는 Polars DataFrame이 지원되지 않습니다.
PyCharm 2023.2는 공유 색인을 빠르게 빌드하고 업로드할 수 있는 새로운 명령줄 도구를 지원합니다. 이 도구는 한층 효율적인 팀워크 및 대규모 프로젝트의 로컬 색인 생성 시간을 단축하기 위해 설계되었습니다. 새로운 도구를 활용하면 여러 스크립트와 서비스 없이도 클릭 몇 번만으로 간편하게 팀을 위한 공유 색인을 생성할 수 있습니다. 자세히 알아보기.
PyCharm 2023.2에서는 JavaScript 및 TypeScript의 타입 오류를 표시하는 방식을 개선하기 위해 노력했습니다. 오류 및 경고가 이제 더 읽기 쉬운 형식으로 표시되어 코드에서 문제를 더 쉽게 찾을 수 있습니다. 이는 모든 TypeScript 오류와 가장 일반적인 일부 JavaScript 오류에도 적용됩니다. 또한 설정한 언어에 맞춰 오류가 현지화된 언어 형식으로 표시됩니다.
PyCharm 2023.2에서 이제 CSS 중첩을 지원합니다. 중첩된 선택자가 식별자 또는 함수 표기법으로 시작하는 경우 경고를 표시하는 구문 지원 및 검사를 구현했습니다.
이제 OpenAPI Specifications 플러그인이 PyCharm 2023.2에 번들로 제공됩니다. 이 플러그인은 OpenAPI 및 Swagger 사양 파일을 지원합니다. 주요 기능에는 JSON 스키마에 의한 유효성 검사, 탐색, 그리고 Swagger Codegen 및 OpenAPI Generator를 사용한 코드 생성이 포함됩니다.
PyCharm은 YAML 및 JSON 파일을 비롯해 OpenAPI 및 Swagger 사양 파일을 위한 Redoc UI 테스트 버전을 지원하므로 IDE에서 Redoc UI 및 Swagger UI 간 전환이 가능합니다. Redocly 통합을 활용하면 PyCharm에서 Try it 콘솔에 액세스하고, 이를 사용해 매개변수를 설정하고 API로 요청을 전송할 수 있습니다.
이제 PyCharm에서 AsyncAPI 사양 서식을 훨씬 간편하게 사용할 수 있습니다. IDE는 스키마 유효성 검사 기능을 지원하며 참조, Endpoints(엔드포인트) 뷰 및 Editor Preview(에디터 미리보기) 패널에 코드 완성 기능을 제공합니다.
이제 HTTP 클라이언트에서 전송 계층 보안(TLS)을 사용하여 gRPC 요청을 전송할 수 있습니다. TLS는 암호화 및 인증을 제공하므로 데이터 전송 시 기밀성 및 무결성이 보장됩니다. 요청 구문에서 https://
및 grpcs://
스키마가 모두 지원됩니다.
이제 HTTP 클라이언트에서 Swagger 및 OpenAPI 사양을 이해하고 JSON 요청 본문을 위한 코드 완성 옵션을 제안할 수 있습니다.
PyCharm 2023.2에서 가져온 모듈을 통해 HTTP 클라이언트 요청 핸들러에 대한 공통 JavaScript 코드를 공유할 수도 있습니다.
PyCharm은 HTTP 클라이언트의 요청 결과에서 PDF 및 HTML 파일의 미리보기를 바로 표시할 수 있습니다.
PyCharm의 HTTP 클라이언트 CLI를 사용해 GraphQL API와 상호작용하고 테스트 또는 자동화 스크립트 등 서비스와 WebSocket 연결을 설정할 수 있습니다.
PyCharm 2023.2에 GitLab 통합 기능이 도입되어 개발 워크플로의 효율을 높여줍니다. Merge Request(병합 요청) 기능을 IDE에서 바로 사용해 요청 목록 검토, 변경 사항 확인, 코멘트 남기기, 관련 뷰로 이동 등의 작업을 수행할 수 있습니다.
많은 요청이 있었던 기능입니다. PyCharm 2023.2에 코드 청크의 특정 부분만 선택적으로 커밋할 수 있는 기능이 드디어 도입되었습니다. 부분 커밋을 수행하려면 청크 내의 줄을 선택하고 컨텍스트 메뉴에서 Include these lines into commit(이 줄을 커밋에 포함)을 호출합니다. 청크는 개별 줄로 나뉘고 선택한 줄이 강조 표시됩니다. 체크박스 또는 컨텍스트 메뉴를 사용해 선택한 부분에 코드 줄을 추가하거나 제외할 수 있습니다.
이제 Services(서비스) 도구 창에서 Docker 이미지 레이어의 콘텐츠에 쉽게 액세스하고 미리 볼 수 있습니다. 목록에서 이미지를 선택하고 Show layers(레이어 표시)를 선택한 후 Analyze image for more information(이미지를 분석하여 자세한 정보 확인)을 클릭하면 레이어에 저장된 파일 목록이 열립니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 Open File(파일 열기)(또는 바이너리의 경우 Download File(파일 다운로드))을 클릭해 에디터에서 선택한 파일을 간편하게 열 수 있습니다.
이제 Docker 실행 구성을 Before Launch(실행 전) 작업으로 지정해 다른 구성보다 먼저 실행되도록 설정할 수 있습니다. IDE는 현재 실행 중인 컨테이너가 정상 상태가 될 때까지 대기한 후 다음 실행 구성을 시작합니다. Docker 실행 구성을 대기열에 추가하려면, 먼저 구성을 생성한 후 Modify options(옵션 수정) | Add before launch task(실행 전 작업 추가) | Run configuration(실행 구성)을 통해 관련 컨테이너에 구성을 추가하면 됩니다.
kubeconfig
파일 지원 하나의 프로젝트에서 여러 kubeconfig
파일을 설정할 수 있는 새로운 기능이 도입되었습니다. 이 기능은 동일한 프로젝트에서 여러 클러스터를 처리하거나, 다른 클러스터에 있는 환경을 사용하는 경우 한층 간소화된 경험을 지원합니다. File(파일) | Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Kubernetes에서 파일을 설정할 수 있습니다.
이제 Services(서비스) 도구 창에서 Kubernetes 클러스터의 배포 로그를 볼 수 있습니다. 트리에서 Deployment(배포)를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴의 Follow Log(로그 추적) 또는 Download Log(로그 다운로드)를 선택하면 됩니다.
Redis Cluster 연결을 통해 독립실행형 버전의 Redis와 동일한 기능을 사용할 수 있습니다. 클러스터에 연결하려는 경우 원하는 URL 앞에 jdbc:redis:cluster:
를 입력하고, 적절한 연결 유형을 선택하면 됩니다. 클러스터 연결에 SSH 터널링이 필요한 경우 클러스터의 모든 노드 호스트 및 포트가 URL에 표시되어야 합니다.
2023.2 버전에서 스키마 마이그레이션 기능이 개선되었습니다. 가장 큰 차이점은 이제 동일한 객체가 대화상자의 두 부분 모두에서 동일한 줄에 배치되므로, 타깃 스키마에서 추가, 제거 또는 변경할 객체를 더 쉽게 파악할 수 있다는 점입니다.
Data Editor and Viewer(데이터 에디터 및 뷰어) 설정 페이지에 새로운 Time zone(시간대) 필드가 추가되어 datetime 값이 표시되는 시간대를 설정할 수 있습니다.
공유 데이터베이스와 그 내용 및 데이터베이스가 생성된 데이터 공유에 대한 내부 검사가 수행됩니다.