PyCharm 2019.2의 새로운 기능

Jupyter Notebook 이용 환경 개선, 별도 설정 없이 더 많은 언어에 대해 구문 강조 표시, Python 3.8 초기 지원 등.

Jupyter Notebook

모두 실행, 위 셀 모두 실행, 아래 셀 모두 실행

모두 실행, 위 셀 모두 실행, 아래 셀 모두 실행

가장 많은 요청을 받은 Jupyter 기능 중 하나는 버튼을 한 번만 클릭하여 모든 셀을 실행하는 것이었습니다. 하지만 이 기능을 추가하기가 생각처럼 단순하지는 않았습니다. PyCharm에서 Jupyter 실행 로직 중 일부를 다시 구현해야 했기 때문입니다. 이제 기쁜 마음으로 PyCharm에서 지원되는 모든 셀 실행 기능을 소개합니다.

서버 설정 개선

서버 설정 개선

여러 개의 프로젝트가 열려 있는 경우 관리되는 Jupyter 서버를 시작하는 데 PyCharm은 첫 번째로 열린 프로젝트를 묵시적으로 사용합니다. 이제 이 기능을 설정할 수 있습니다. 또한, 수신 대기할 특정 Jupyter 서버 포트를 선택할 수도 있습니다.

가상 줄을 사용해 간격 두기

가상 줄을 사용해 간격 두기

브라우저에서 Jupyter Notebook을 보면 레이아웃이 셀 사이에 자연스럽게 미세한 간격을 둡니다. 그렇기에 PyCharm이 Python 파일로 코드를 표시하는 방식은 약간 더 조밀하게 보입니다. 이제 코드가 더 깔끔하게 보이도록 파일에 저장되지 않는 가상의 빈 줄이 Notebook에 삽입됩니다.

변수 값의 인라인 표시

변수 값의 인라인 표시

PyCharm 디버거를 사용하면 Notebook을 사용해 작업하는 동안 변수를 추적하고, 현재 상태를 확인하는 데 도움이 됩니다.

기타 개선 사항

  • 많은 요청을 받은 또 다른 기능은 커널을 다시 시작하는 기능이었는데, 이제 이 기능도 지원됩니다.
  • 이제 PyCharm에서 JetBrains Datalore로 직접 Notebook을 게시할 수 있습니다.

IDE 개선 사항

수많은 주요 언어에 대한 코드 강조 표시

수많은 주요 언어에 대한 코드 강조 표시

다양한 언어의 코드가 포함된 프로젝트를 작업하고 계십니까? PyCharm은 이제 Windows .bat 파일, C #, C ++, Groovy, Lua, Makefiles 등의 구문을 강조 표시기능을 지원합니다.

기본적인 bash 지원

기본적인 bash 지원

대부분의 프로젝트는 일정한 단계에 도달하면 저장소에 bash 파일이 생기게 됩니다. 이제 PyCharm에서는 bash 구문을 강조 표시하고 기본 코드 완성 기능을 제공하며 Shellcheck과 통합되어 bash 파일을 검사합니다.

Windows에서의 외관 개선

Windows에서의 외관 개선

이제 Windows에서 가장 깔끔한 PyCharm을 소개합니다. UI 디자인 개편으로 더욱 모던한 스타일을 완성했습니다.

REST 클라이언트에 대한 cURL 지원

REST 클라이언트에 대한 cURL 지원

cURL 형식이 이제 별도 설정 없이 지원됩니다. cURL 형식의 요청을 복사해 HTTP 요청 파일에 직접 붙여넣기만 하면 적절한 형식으로 변환됩니다. 새롭게 추가된 이 기능을 사용하려면 신규 .http 파일 또는 HTTP 요청 스크래치 파일을 생성한 후 cURL 문자열을 붙여넣으세요. 그러면 자동으로 완전한 요청으로 변환됩니다.

요청 간 쿠키 보존

요청 간 쿠키 보존

서비스에 인증 요청을 하고 나중에 권한을 요청하는 엔드포인트를 호출하였다고 생각해 보세요. 과거에는 이러한 인증 요청이 손실되어 필요할 때마다 요청해야 했습니다. 하지만 이제는 문제가 되지 않습니다. 모든 쿠키는 향후 이용할 수 있도록 보관되며, 다음 번에 요청을 수행할 때 전송됩니다.

EditorConfig 지원 개선

EditorConfig 지원 개선

EditorConfig 파일을 사용해 저장소에 직접 코드 스타일 설정을 포함시킬 수 있습니다. 이제 이 기능이 더욱 유연하게 개선되었습니다. 예를 들어, 프로젝트의 여러 부분에 대해 다양한 EditorConfig 파일을 사용해 서로 다른 설정을 할 수 있습니다.

자세한 내용은 문서를 참조하세요.

Python

Python 3.8: 위치 한정 매개변수

Python 3.8: 위치 한정 매개변수

함수 정의에 위치 한정 매개변수를 지정하여 함수 사용의 제한이 가능합니다. 이 새로운 구문을 사용하면 특별한 순서에 따라서만 호출되는 인수를 엄격하게 정의할 수 있습니다.

Python 3.8: Assignment Expressions

Python 3.8: Assignment Expressions

표현식 안에 변수를 할당하여 코드의 간결성 및 가독성을 향상시키세요. 예를 들어, 이제는 한 줄의 코드를 사용하여 조건식을 생성하고 동시에 변수 값을 할당할 수 있습니다.

Python 3.8

변수에 대한 최종 주석

'Final' 한정자를 사용해 메서드, 클래스 및 변수의 사용이 제한된 클래스와 하위 클래스를 설계하고 원치 않는 상속 또는 재정의를 피할 수 있습니다.

f-string 안에서 등호 기호 사용

f-String에서 이제 '='를 사용해 식과 값을 동시에 표시할 수 있습니다. f'{expr=}'를 사용해 식과 출력값을 모두 표시하는 문자열을 생성하세요.

인라인 Python 함수

인라인 Python 함수

PyCharm의 주요 기능 중 하나는 코드를 자동으로 리팩터링하는 것입니다. 이러한 방식을 사용하면 연산이 완료된 후에도 코드의 동작이 변하지 않습니다. 또한 Python 함수를 자동으로 인라인화하는 기능이 추가되었습니다.

Python 리팩터링 자세히 알아보기

빠른 중복 코드 찾기

빠른 중복 코드 찾기

중복 코드는 바람직하지 않은 코드입니다. 그렇기에 PyCharm은 하나의 함수로 리팩터링하면 좋을 듯한 항목을 사용자에게 알려 줍니다.

JavaScript

변수 이름 변경 개선

변수 이름 변경 개선

이제 동적 참조 이름 변경 여부에 대한 옵션이 추가되어 코드 리팩터링의 사용자 지정 가능성이 향상되었습니다. 이 옵션을 선택하면 미리 보기 인터페이스를 사용해 이름을 변경하려는 항목과 그대로 놔두려는 항목을 결정할 수 있습니다.

디버그 중 스마트 스텝인투 개선

디버그 중 스마트 스텝인투 개선

'Smart step into'(Shift-F7) 기능이 대폭 향상되었습니다. 이제 대상이 더욱 잘 보이며, 방향키 또는 Tab을 사용해 대상 사이를 간편히 전환한 후, Enter를 눌러서 선택된 대상으로 스텝인투할 수 있습니다.

디버거에서 라이브러리의 가시성 향상

디버거에서 라이브러리의 가시성 향상

디버거 호출 스택의 필터 아이콘을 사용하면 제3자 코드의 호출을 모두 숨길 수 있습니다. 이제 이 새로운 기능을 사용해 라이브러리로 표시한 모든 항목을 숨길 수 있습니다.

데이터베이스

전체 텍스트 검색

전체 텍스트 검색

PyCharm Professional Edition에는 JetBrains의 전문적인 데이터베이스 IDE인 JetBrains DataGrip의 모든 데이터베이스 기능이 포함되어 있다는 사실을 알고 계시나요? 이 데이터베이스 도구의 새 기능 중 하나인 여러 데이터 소스에 대한 전체 텍스트 검색을 사용하면, 어디에 숨어 있든 상관없이 데이터를 검색할 수 있습니다.