기본 제공 개발자 도구

별도 설정 없이 사용할 수 있는 PyCharm의 수많은 도구에는 통합된 디버거 및 테스트 러너, Python 프로파일러, 기본 제공 터미널, 주요 VCS 통합 도구 및 기본 제공 데이터베이스 도구, 원격 인터프리터를 사용한 원격 개발 기능, 통합된 SSH 터미널, Docker 및 Vagrant 통합 도구 등이 있습니다.

시각적 디버거

PyCharm은 Python/Django 및 JavaScript 코드의 디버그를 위해 다음과 같은 추가 옵션을 제공합니다.

  • 에디터 내에서 바로 중단점을 설정하고 중단점 도달 조건을 정의
  • 배열과 복잡한 객체를 포함하여 컨텍스트와 관련된 지역 변수 및 사용자 정의 감시점을 검사하고 즉시 값을 편집

Python 디버거 페이지에서 디버거 자세히 알아보기

인라인 디버거

인라인 디버거를 사용하면 에디터 인터페이스에 통합된 변숫값과 함께 모든 디버그 데이터가 실시간으로 에디터에 바로 표시됩니다. 변숫값은 소스 코드에서 변수가 사용된 위치 바로 옆에 표시됩니다.

내 코드로 스텝인투

Step into My Code(내 코드로 스텝인투) 기능을 이용하면 디버거가 라이브러리 소스를 생략하고 사용자가 작성한 코드만 단계별로 실행하므로 자신의 코드에 계속 집중할 수 있습니다.

다중 프로세스 디버그

PyCharm은 다양한 Python 프로세스를 실행하는 애플리케이션(예: 다시 로드 안 함 모드에서 실행되지 않는 Django 애플리케이션 또는 코드 자동 다시 로드와 접근법이 유사한 다른 여러 웹 프레임워크를 사용하는 애플리케이션)을 디버그할 수 있습니다.

실행/디버그 구성

스크립트/테스트 또는 디버거를 실행할 때마다, 나중에 편집하여 사용할 수 있는 특수한 'Run/Debug Configuration'(실행/디버그 구성)이 생성됩니다. 실행/디버깅 구성은 전체 팀과 사용할 수 있도록 프로젝트 설정으로 공유될 수 있습니다.

코드 실행

모든 Python 환경에서 실행

어떤 Python 파일이든 실행할 수 있습니다. 실행하려는 항목을 마우스 오른쪽 버튼으로 클릭하고 'Run <your script>'를 선택하기만 하면 됩니다.

PyCharm에서는 프로젝트에 필요한 Python 환경을 로컬 및 원격 인터프리터 또는 virtualenv 등으로 간편하게 설정할 수 있습니다.

대화형 Python 콘솔

PyCharm에서 대화형 Python 또는 Django 콘솔을 실행하면 검사 기능을 통한 실시간 구문 검사, 짝이 되는 중괄호/소괄호 및 따옴표 자동 표시, 코드 완성 등, 해당 콘솔의 표준 버전보다 다양한 장점을 이용할 수 있습니다. 두 콘솔 모두 로컬 및 원격 인터프리터와 호환됩니다.

기본 제공 터미널

터미널은 PyCharm을 완전한 Python IDE로 만들어주는 요소입니다. 개발을 진행할 때 PyCharm을 벗어날 필요가 없으며 로컬 터미널은 Windows, Linux 및 macOS에서 사용할 수 있습니다.

전체 Python 지원

PyCharm은 Python 2.x and 3.x, Jython, IronPython, PyPy 및 Cython을 포함하여 모든 주요 Python 구현을 지원하며, 다음과 같은 기능을 제공합니다.

  • 구문 강조 표시, 오류 검사 및 코드 서식 지정
  • 컨텍스트에 맞는 코드 완성
  • 코드 탐색 및 구조 뷰
  • 빠른 사용 위치 검색 및 리팩터링 도구
  • 코드 검사 및 그 외 다수

유닛 테스트

PyCharm에는 doctest, nose, attest와 같이 인기 있는 Python 테스트 프레임워크가 통합되어 있기 때문에 손쉽게 유닛 테스트를 수행할 수 있습니다.

PyCharm에서는 테스트 파일, 단일 테스트 클래스, 메서드 또는 폴더 내의 모든 테스트를 실행할 수 있습니다. 테스트 결과는 실행 통계 및 간편한 테스트 코드 탐색 기능을 제공하는 시각적 테스트 러너에서 확인할 수 있습니다.

코드 커버리지

PyCharm에는 Python 프로그램의 코드 커버리지 측정을 위한 표준 도구인 Coverage.py가 통합되어 있습니다. 이 도구는 프로그램을 모니터링하여 실행된 코드 부분을 알려준 다음, 소스를 분석하여 의도와 달리 실행되지 않은 코드를 식별합니다. 분석 결과는 보기 좋은 시각적 형태로 제공되어 향후 분석과 간편한 코드 탐색에 사용할 수 있습니다.

Python 프로파일러

yappi 및 cProfile을 지원하는 Python 프로파일러 통합으로 코드를 완벽히 제어할 수 있습니다. 캡처한 스냅샷을 확인하고 색상 지정된 함수 호출 그래프에서 자세한 통계 정보를 살펴보세요. 집계된 보고서를 검토하고 실행 통계에서 바로 Python 코드의 함수로 이동하세요.

Python용 BDD

이제 Python에서 Behave 및 Lettuce로 BDD를 사용할 수 있습니다. 애플리케이션 동작을 설명하는 사람이 읽을 수 있는 스토리를 작성해 보세요. 설치 및 구성 헬퍼, 실행 구성, BDD 프레임워크 Intellisense를 포함하여 PyCharm에서 제공되는 지원을 이용할 수 있습니다.

스레드 동시 실행 시각화

스레드 동시 실행 시각화를 통해 멀티스레드 애플리케이션을 완벽히 통제할 수 있습니다. 동시 실행 다이어그램 모드에서 특수 버튼을 사용해 Python 애플리케이션을 실행하면 다이어그램에서 실행 중인 프로세스에 속해 있는 스레드의 실시간 상태를 검사할 수 있습니다.

버전 관리 시스템

Git, SVN, Mercurial, Perforce 및 기타 버전 관리 시스템이 통합 지원되어 로컬 변경 내용을 관리하고 복잡한 브랜치 작업을 적용할 수 있습니다. 또한 지루한 모든 작업(파일 추가, 제거, 삭제)이 자동으로 수행됩니다.

사용하는 VCS에 상관없이 다음의 기능을 이용할 수 있습니다.

  • 통합 변경 목록 — 변경 내용을 여러 개의 변경 목록으로 묶어 깔끔하게 정리
  • 변경 내용 보류 — 나중에 복원할 수 있도록 일부 변경 내용을 보류
  • 저장소 변경 내용 뷰 — 다른 팀원이 커밋한 내용을 확인
  • 후속 변경 내용 뷰 — 아직 로컬 사본에 통합되지 않은 코드 변경 내용을 확인
  • 오래된 변경 내용 알림 — 작업 중인 파일이 마지막 동기화 후 변경되었음을 알림

로컬 기록

PyCharm은 소스 파일에 적용된 변경 내용을 추적하여 실수로 코드가 삭제되거나 수정되는 일을 방지하며 다른 애플리케이션에서 변경된 경우에도 동일하게 코드를 보호합니다. 언제든지 특정 파일이나 디렉터리의 기록을 검사하고 원하는 이전 버전으로 롤백할 수 있습니다.

기본 제공 시각적 병합 도구

기본 제공되는 시각적 병합 도구를 사용하면 모든 충돌을 빠르고 직관적인 방식으로 해결할 수 있습니다. 입력 중에 로컬에서 변경이 발생하면 해당 내용이 에디터 여백에 강조 표시되어 개별 변경 내용을 직관적으로 탐색하고 두 번 클릭으로 롤백할 수 있습니다.

Diff 뷰어

통합 그래픽 Diff 뷰어를 사용해 변경 내용을 손쉽게 추적하여 두 파일 간의 차이를 확인하거나, 파일의 두 버전을 비교할 수 있습니다(로컬 변경 내용 또는 로컬 파일과 원격 저장소 내 수정 버전 간의 변경 내용).

데이터베이스 도구

데이터베이스 액세스 및 수정

PyCharm에서 바로 Oracle, SQL Server, PostgreSQL, MySQL 및 기타 데이터베이스에 액세스할 수 있습니다. PyCharm을 사용해 SQL 코드 편집, 데이터 검색, 스키마 및 테이블 데이터 변경, 쿼리 실행을 비롯하여 UML 다이어그램으로 스키마 분석까지 실행할 수 있습니다.

SQL 삽입

SQL 코드를 다른 언어에 삽입하거나 SQL 에디터에서 구문 강조 표시, 스마트 코드 완성, 빠른 코드 분석, 코드 서식 지정 및 탐색 기능을 사용하여 편집할 수 있습니다.

SQLAlchemy 지원

PyCharm은 SQLAlchemy 라이브러리에 스마트 코드 분석을 제공하므로 지능적인 코드 제안 및 자동 완성을 이용할 수 있습니다. SQLAlchemy 다이어그램은 데이터 구조를 시각화하여 편리한 SQL 툴킷 지원 기능을 보완합니다.

PyCharm Professional Edition에는 데이터베이스 작업을 도와주는 DataGrip의 최신 기능이 포함되어 있습니다. DataGrip 기능 자세히 알아보기

원격 개발 기능

SSH 원격 도구

기본 제공 SSH 콘솔을 이용하면 어떤 원격 시스템으로든 연결해서 SSH를 통해 다양한 액션을 실행할 수 있습니다. 또한 한 번의 키 입력으로 PhpStorm에서 바로 원격 도구가 실행되도록 SSH 원격 도구를 구성할 수 있습니다.

원격 인터프리터

로컬 인터프리터 대신 원격 Python 인터프리터를 사용하면, 실제 서버든 Vagrant나 Docker로 만든 가상 서버든 관계없이 운영 환경과 비슷한 환경이나 테스트 환경에서 애플리케이션을 실행, 디버그, 프로파일링할 수 있습니다.

Vagrant

Vagrant는 PyCharm에 기본 통합된 편리한 도구로, 복제 가능한 개발 환경을 만들 수 있도록 설계되었습니다. Vagrant를 사용하면 간단한 스크립트 공유로 개발용 가상 머신을 공유할 수 있습니다. 이렇게 공유한 후에는 다른 개발자들이 Vagrant 명령어 up을 사용해 동일한 머신을 실행할 수 있습니다.

Docker

PyCharm에는 분산형 애플리케이션에 널리 사용되는, 개발자 및 시스템 관리자를 위한 오픈 플랫폼인 Docker가 통합되어 있습니다. Docker 컨테이너에서 Python 인터프리터를 지정하고 프로젝트에서 애플리케이션을 실행, 디버그, 프로파일링하는 데 사용하세요.

이슈 트래커 통합

TODO 목록이 이슈/버그 추적 시스템에 있을 경우, IDE를 벗어날 필요 없이 PyCharm을 구성하여 문제를 해결할 수 있습니다. 간단히 이슈 트래커 서버를 지정한 후, 다음 단계를 수행하세요.

  • 필터로 정의한 목록에서 진행할 작업을 선택
  • 해당 작업 내 VCS 변경 내용을 자동으로 그룹 지정
  • 자동 입력된 작업 이름/ID로 VCS 커밋
  • IDE 컨텍스트를 유지하면서 작업 간 전환(에디터 탭, 중단점 등 열기)

PyCharm은 Atlassian JIRA, JetBrains YouTrack Lighthouse, Pivotal Tracker, GitHub, Redmine, Trac 등의 버그 추적 시스템을 지원합니다.