PyCharm 2019.3의 새로운 기능

Jupyter Notebook용 대화형 위젯, MongoDB 지원 및 모든 Python 3.8 기능에 대한 코딩 지원이 제공됩니다.

Jupyter pro 전용

대화형 위젯

대화형 위젯

To provide more interactivity, Jupyter notebooks support interactive controls known as interactive widgets. 이 제어 기능을 사용하면 정적 Notebook이 대화형 대시보드로 전환되어 사용자의 Notebook을 보는 이가 자신의 뷰를 사용자 지정할 수 있습니다. 이러한 업데이트에 따라 PyCharm은 대화형 위젯에 대한 지원을 추가했습니다. 이는 위젯이 출력과 함께 렌더링되고 기본 Jupyter Notebook에서 작동하는 것처럼 Notebook을 조작하는 데 사용할 수 있음을 의미합니다.

IDE는 이제 가장 많이 사용되는 위젯 라이브러리를 지원합니다. 라이브러리가 작동하지 않는 경우 이슈를 제출해 주세요.

런타임 기반 코드 완성

런타임 기반 코드 완성

PyCharm이 제공하는 이점 중 하나는 고급 정적 코드 분석 알고리즘으로 구현된 지능적인 코딩 지원입니다. 그러나 Python과 같은 동적 언어에는 정적 코드 분석만으로 충분하지 않습니다. 이 때문에 이번 업데이트에서는 Jupyter 자체에서 제공하는 런타임 정보를 활용하여 코드 분석 기능을 확장했습니다. 이 작업으로 IDE에서 정적 분석으로 유형을 파악할 수 없는 사전 색인 또는 매우 중첩된 표현식과 같은 일부 사례의 경우 코드 완성이 더 스마트하게 작동합니다.

출력 창 확대 및 축소

출력 창 확대 및 축소

이제 설정에서 미리보기의 글꼴 크기를 에디터와 일치하도록 설정하거나 사용자 지정할 수 있습니다. 또한 에디터 옵션인 'Change font size (Zoom) with Ctrl+Mouse Wheel'(글꼴 크기를 Ctrl+마우스 휠로 변경(확대/축소))이 미리보기에 적용됩니다. 이 옵션을 활성화하면 Ctrl을 누른 상태에서 마우스 휠로 미리보기를 확대하거나 축소할 수 있습니다.

기타 개선 사항

  • Jupyter Notebook이 IDE 외부(예: 기본 Jupyter 인터페이스)에서 변경되면 이제 IDE에서 자동으로 상태를 동기화하여 IDE 사용자에게 최신 버전의 Notebook을 표시하여 변경 내용이 손실되지 않도록 합니다.

Python

파일 경로 완성

파일 경로 완성

파일 이름을 입력할 때 오타가 날까봐 걱정되시나요? 특히 'open('data/survey_data_28112019_exported.csv')'처럼 파일 이름이 길 때 그러신가요? 이제 Python 코드 에디터와 콘솔에서 파일 경로를 제안해 드립니다. 컨텍스트 인식 코드 완성 기능이 확장되어, 파일 관련 컨텍스트의 문자열 리터럴에서 가능한 파일 경로를 제안합니다.

상대적 import 문 지원

상대적 import 문 지원

절대적 import 문보다 상대적 import 문을 선호하시나요? 이제 PyCharm에서 이러한 스타일을 자동으로 변환할 수 있습니다. 상대적 import 문을 사용해 특정 패키지에서 가져오는 경우 해당 패키지의 새 import 문도 자동으로 상대적 import 문으로 생성됩니다.

Python 3.8: TypedDict

Python 3.8: TypedDict

PyCharm의 TypedDict 지원을 사용하면 사전에 잘못된 값이 할당되는 일을 피할 수 있습니다. 키-값 쌍 구조에 대한 정확한 표현을 얻어 코드 에디터가 올바른 사용 위치를 지원하도록 하세요.

Python 3.8: Literal 유형 주석

Python 3.8: Literal 유형 주석

'open'의 파일 모드와 같은 특정 리터럴 문자열을 취하는 메서드가 있나요? Python 3.8의 'Literal' 유형 주석을 사용하면 유형뿐만 아니라 특정 값도 확인할 수 있습니다. 또 지원되지 않는 값을 가진 함수를 호출하면 PyCharm에서 경고합니다.

pytest 테스트 자동 생성

pytest 테스트 자동 생성

테스트 자동 생성 도구가 업그레이드되어 이제 pytest도 지원합니다. 이에 따라 PyCharm에서 메서드 선언의 컨텍스트 메뉴에서 Go To(이동) | Test(테스트) 옵션을 클릭하기만 하면 pytest 테스트를 자동으로 생성할 수 있습니다.

디버거: 컬렉션의 크기 정보

디버거: 컬렉션의 크기 정보

디버그 중 추적 정보는 최대한 명확하고 상세해야 합니다. 그래서 JetBrains는 변수 뷰에 더 체계적이고 포괄적인 데이터가 표시되도록 조정했습니다. 이 작업의 결과로, 새로운 정렬 방식, 과학적 배열에 대한 향상된 시각적 표현, 컬렉션의 길이 표시, 중복된 세부 정보 제거를 경험할 수 있습니다.

기타 개선 사항

  • 네트워크 스크립트를 사용하거나 하드웨어와 연결하고 16진수 또는 2진수 값을 사용하고 계신가요? 좋은 소식이 있습니다. 이제 변수 뷰를 통해 콘솔 또는 디버거에서 바로 10진수 값을 16진수 또는 2진수 형식으로 변환할 수 있는 기능이 PyCharm에 통합되었습니다.
  • Windows에서 Linux용 개발을 작업하고 계신가요? Linux 2용 Windows 하위 시스템에 대한 지원이 추가되었습니다. PyCharm의 Python 인터프리터가 WSL 2에서 이용 가능한 인터프리터를 사용하도록 구성하기 pro only

성능 개선 사항

빨라진 색인 생성

빨라진 색인 생성

PyCharm은 코드 분석 기능으로 사용자가 빠르게 작업을 완료할 수 있도록 도와줍니다. 이렇게 작동하기 위해 PyCharm은 코드 및 가져온 모든 패키지를 모두 색인 생성합니다. 대부분의 데이터 과학 패키지와 같이 컴파일된 확장 프로그램이 있는 패키지를 사용자가 사용하는 경우 PyCharm에서는 패키지 색인을 생성하기 전에 Python 인터페이스를 설명하는 Python 스켈레톤(스텁 파일)을 생성해야 합니다. 이 프로세스가 이번에 개선되어 전체 색인 생성 프로세스가 25% 이상 더 빨라지는 것을 기대할 수 있습니다. 물론 여러 가상 환경에서 동일한 패키지를 사용하는 경우 이미 생성되어 있는 색인이 재사용됩니다.

멈춤 현상 감소 및 향상된 멈춤 현상 보고

멈춤 현상 감소 및 향상된 멈춤 현상 보고

안타깝게도 PyCharm의 UI가 가끔 정지되어 사용자가 코드 작업으로 돌아갈 수 없을 때가 있습니다. JetBrains는 그러한 상황이 매우 불쾌하다는 사실을 알고 있기에 이 현상을 없애기 위해 열심히 노력하고 있습니다. 지금까지 UI 멈춤 현상을 유발할 수 있는 수많은 문제를 수정해 왔으며 이번에는 UI 멈춤 현상을 IDE에서 바로 보고할 수 있는 기능을 추가했습니다. 이 기능을 통해 JetBrains는 UI가 멈춘 이유를 조사하고 문제가 재발하지 않도록 만들 수 있습니다. PyCharm의 UI 멈춤 현상을 없애기 위한 여러분의 도움에 미리 감사드립니다.

기타 개선 사항

  • 올해 JetBrains는 모든 JetBrains IDE의 시작 성능을 개선하고자 많은 노력을 기울였습니다. 그 결과 주요 플랫폼의 시작 시간이 2019.3 버전에서 더욱 향상되었으며 앞으로도 IDE가 더 빨리 시작되도록 계속 노력할 것입니다.
  • 이제 IDE를 다시 시작하지 않아도 테마를 변경할 수 있습니다. 사전 설치된 테마를 선택하거나 새 테마를 다운로드한 직후에도 변경 가능합니다.
  • PyCharm 2019.3에서는 이벤트 처리 및 무시된 파일 처리 기능이 여러 면에서 개선되어 버전 관리 상태 업데이트가 더 빨라졌습니다.
  • 에디터의 렌더링 방식이 일부 변경되어 이제 긴 파일을 스크롤하는 동작이 훨씬 부드러워졌습니다.

데이터베이스 지원 pro 전용

MongoDB 지원

MongoDB 지원

MongoDB를 기반으로 애플리케이션을 구축하고 계신가요? 그렇다면 PyCharm에서 MongoDB 컬렉션을 탐색할 수 있다는 소식에 기쁘실 겁니다. 데이터베이스 도구 창(View(뷰) | Tool Windows(도구 창) | Database(데이터베이스))에서 데이터 소스를 추가하여 데이터베이스를 연결하세요. PyCharm Professional Edition에는 JetBrains의 전문적인 데이터베이스 IDE인 JetBrains DataGrip의 모든 데이터베이스 기능이 포함되어 있습니다.

IDE 기능

실행 구성 매개변수화

실행 구성 매개변수화

명령줄 애플리케이션을 만드는 경우 일반적으로 인수를 빠르게 변경할 수 있어야 편리합니다. 인수를 변경하려면 항상 'Edit Configuration'(구성 편집)으로 이동하면 됐지만 이제 더 좋은 방법이 생겼습니다. 새로운 실행 구성 매크로(변수)를 사용하면 애플리케이션을 시작할 때마다 PyCharm에서 값을 묻는 메시지가 표시됩니다.

선택 범위에서 검색

선택 범위에서 검색

한 파일 섹션에서 특정 텍스트가 얼마나 자주 나오는지 알고 싶으신가요? 이제 검색 액션이 처음에 선택한 범위로 지정됩니다. 모든 위치에서 검색하고 싶으신가요? Ctrl-F를 다시 눌러 파일의 나머지 부분으로 검색을 확장하세요.

기타 개선 사항

  • 애플리케이션의 일부가 JavaScript로 작성된 경우 어딘가에서 Handlebars 템플릿이 사용되고 있을 가능성이 큽니다. Handlebars 플러그인이 설치되어 있는 경우 이제 모든 Python 문자열에서 Handlebars 코드 인텔리전스를 사용할 수 있습니다. 간단히 문자열에서 Alt-Enter를 누르고 'Inject language or reference'(언어 또는 참조 삽입)를 선택한 다음 'Handlebars'를 입력하세요.

버전 관리

현재 브랜치와 비교 기능 개선

현재 브랜치와 비교 기능 개선

브랜치가 많을수록 브랜치 간 차이점을 추적하기가 어렵습니다. PyCharm의 새 버전에서는 브랜치 비교 기능이 개선되어 두 브랜치 사이의 차이점을 만드는 커밋에 대한 빠른 개요를 제공합니다.

향상된 저장소 복제 UI

향상된 저장소 복제 UI

어떤 유형의 저장소를 사용하든 이제 새 프로젝트를 체크아웃할 때 단일한 시작 위치를 이용할 수 있습니다.

기타 개선 사항

  • 원격 브랜치를 체크아웃할 때 일반적으로 원격 브랜치를 추적하는 로컬 브랜치를 작성하게 됩니다. PyCharm 2019.3에는 원격 브랜치의 현재 상태를 확인할 수 있는 단 하나의 '체크아웃' 액션만 있어 로컬 커밋을 잃을 위험이 없습니다.
  • PyCharm은 언제나 사용자가 현재 체크아웃한 브랜치만 푸시할 수 있었습니다. 그러나 때로 사용자는 다른 브랜치를 푸시하고 싶을 수 있습니다. 그러한 경우 이제 푸시하고 싶은 브랜치를 먼저 체크아웃할 필요가 없습니다.

웹 개발 pro 전용

CDN의 CSS 클래스

CDN의 CSS 클래스

CDN의 스타일시트를 사용하시나요? 이제 PyCharm은 코드 완성에 사용하기 위해 해당 스타일시트 버전을 다운로드합니다.

JavaScript 디버그 중 메서드의 반환 값 보기

JavaScript 디버그 중 메서드의 반환 값 보기

Python 디버거와 마찬가지로 JavaScript 디버거는 호출된 메서드의 반환 값을 표시할 수 있습니다. 반환 값을 보려면 디버거에서 톱니바퀴 아이콘을 클릭하고 'Show Return Values'(반환 값 표시)를 활성화하세요.

기타 개선 사항

  • CSS 스타일 설정을 구성해 작은 따옴표나 큰 따옴표를 적용할 수 있습니다.
  • CSS에서 작은 따옴표를 사용하든, 큰 따옴표를 사용하든 관계없이 PyCharm은 따옴표의 일관성을 유지하도록 도와줍니다. Settings(설정) | Editor(에디터) | Code Style(코드 스타일) | Style Sheets(스타일시트) | CSS의 'Other'(기타) 탭에서 설정을 구성하세요.
  • propTypes가 정의되지 않은 React 구성 요소를 사용하고 계신가요? PyCharm은 이제 프로퍼티를 유추하여 propTypes가 정의되지 않은 구성 요소에 코드 완성을 제공합니다.