Visual Studio의 Python 대화형 창 작업

Visual Studio는 각 Python 환경에 대화형 읽기-평가-인쇄 루프(REPL) 창을 제공하여 명령줄에서 python.exe 명령과 관련한 REPL을 개선합니다. Python 대화형 창에서 임의의 Python 코드를 입력하고 즉각적인 결과를 볼 수 있습니다. 이 코딩 방식은 API 및 라이브러리를 배우고 실험하고 프로젝트에 포함할 작업 코드를 대화형으로 개발하는 데 도움이 됩니다.

Visual Studio 2022에서 Python 대화형 REPL(read-eval-print loop) 창 스크린샷.

Visual Studio에서 Python 대화형 REPL(read-eval-print loop) 창 스크린샷.

Visual Studio에는 선택할 수 있는 많은 Python REPL 모드가 있습니다.

REPL 설명 편집 중 디버깅 이미지
Standard 기본 REPL은 Python과 직접 통신합니다. 표준 편집(여러 줄 등). 예, $attach를 통해 아니요
디버그 기본 REPL은 디버깅된 Python 프로세스와 통신합니다. 표준 편집 디버깅만 아니요
IPython REPL이 IPython 백 엔드에 명령 IPython 명령, Pylab의 편리한 기능 아니요 예, REPL에서 인라인으로
Pylab이 없는 IPython REPL이 IPython 백 엔드에 명령 표준 IPython 아니요 예, 별도의 창

이 문서에서는 표준디버그 REPL 모드를 설명합니다. IPython 모드에 대한 자세한 내용은 IPython REPL 사용을 참조하세요.

Ctrl+Enter 등의 편집기 조작을 포함하여 예제를 사용한 자세한 연습을 보려면 대화형 REPL 창 사용을 참조하세요.

필수 조건

Mac용 Visual Studio는 현재 지원되지 않습니다. 자세한 내용은 Mac용 Visual Studio 무슨 일이 일어나고 있는지?를 참조하세요. Windows, Mac 및 Linux의 Visual Studio Code는 사용 가능한 확장을 통해 Python에서 잘 작동합니다.

대화형 창 열기

Python 환경에서 대화형 창을 여는 방법에는 여러 가지가 있습니다.

  • Python 환경 창에서 다음을 수행합니다.

    1. 보기>기타 창>Python 환경을 선택하여 Python 환경 창(또는 키보드 Ctrl+K>Ctrl+`사용)을 엽니다.

    2. Python 환경 창에서 환경을 선택하고 환경의 개요 페이지로 전환합니다.

    3. 개요 페이지에서 대화형 창 열기 옵션을 선택합니다.

    Visual Studio 2022에서 선택한 환경에 대해 대화형 창 열기 옵션을 사용하는 방법을 보여 주는 스크린샷.

    Visual Studio에서 선택한 환경에 대해 대화형 창 열기 옵션을 사용하는 방법을 보여 주는 스크린샷.

  • Visual Studio 도구의 보기 메뉴에서 기타 창>Python 대화형 창을 선택합니다.

    Visual Studio 2022의 Python 대화형 창 메뉴 옵션을 사용하는 방법을 보여 주는 스크린샷.

    Visual Studio의 Python 대화형 창 메뉴 옵션을 사용하는 방법을 보여 주는 스크린샷.

  • Visual Studio 툴바의 디버그 메뉴에서 Python 대화형에서 <Project | File> 실행을 선택하거나 바로 가기 키 Shift+Alt+F5를 사용합니다. 프로젝트의 시작 파일 또는 독립 실행형 파일에 대한 대화형 창을 열 수 있습니다.

    Visual Studio 2022의 Python 대화형 창 메뉴 옵션에서 디버그 실행 프로젝트를 사용하는 방법을 보여 주는 스크린샷.

    Visual Studio의 Python 대화형 창 메뉴 옵션에서 디버그 실행 프로젝트를 사용하는 방법을 보여 주는 스크린샷.

또 다른 옵션은 Visual Studio 편집기에서 작성 중인 코드를 대화형 창으로 보내는 것입니다. 이 방법은 대화형 창에 코드 보내기에 설명되어 있습니다.

대화형 창 옵션 탐색

시작 스크립트 파일의 위치 및 창 환경 내에서 화살표 키가 작동하는 방식 등 대화형 창의 다양한 측면을 제어할 수 있습니다. 옵션에 액세스하려면 도구>옵션>Python>대화형 창을 선택합니다.

Visual Studio의 Python 대화형 창 옵션 스크린샷.

옵션은 Visual Studio용 Python 대화형 창 옵션에 자세히 설명되어 있습니다.

대화형 창 사용

대화형 창에서 REPL Python 명령 프롬프트 >>>에 코드를 한 줄씩 입력할 수 있습니다. 각 줄을 입력하면 Visual Studio에서 필요한 모듈 가져오기 및 변수 정의 등 코드를 실행합니다.

Visual Studio에서 코드 줄이 전체 문을 구성하지 않는 것을 감지하면 코드 프롬프트가 REPL 연속 ...으로 변경됩니다. 이 프롬프트는 문 블록을 완료하기 위해 더 많은 코드 줄을 입력해야 했음을 나타냅니다. Visual Studio는 코드 블록을 실행하기 전에 닫는 구문을 기다립니다.

for 문을 정의하면 첫 번째 코드 줄이 for 블록을 시작하고 콜론에서 끝납니다. 블록은 for 루프 중에 완료할 작업을 정의하는 하나 이상의 코드 줄로 구성될 수 있습니다. 빈 줄에서 Enter를 선택하면 대화형 창이 블록을 닫고 Visual Studio에서 코드를 실행합니다.

명령줄 REPL 비교

대화형 창은 주변 범위에 속하는 문을 자동으로 들여쓰기하여 일반적인 Python 명령줄 REPL 환경을 개선합니다. 두 방법 모두 화살표 키를 사용하여 입력한 코드를 스크롤할 수 있습니다. 또한 명령줄 REPL은 단일 줄만 제공하지만 대화형 창은 여러 줄 항목을 제공합니다.

메타 명령

대화형 창은 몇 가지 메타 명령을 지원합니다. 모든 메타 명령은 달러 기호 $로 시작합니다. $help를 입력하여 메타 명령 목록을 보고 $help <command>를 입력하여 특정 명령에 대한 사용량 세부 정보를 가져올 수 있습니다. 다음 표에서는 메타 명령을 요약합니다.

메타 명령 설명
$$ 세션 전체에서 코드에 주석을 추가하는 데 도움이 되는 메모를 삽입합니다.
$cls, $clear 편집기 창의 내용을 지우되 기록 및 실행 컨텍스트를 그대로 유지합니다.
$help 명령 목록 또는 특정 명령에 대한 도움말을 표시합니다.
$load 파일에서 명령을 로드하고 완료될 때까지 실행합니다.
$mod 현재 범위를 지정된 모듈 이름으로 전환합니다.
$reset 실행 환경을 초기 상태로 다시 설정하되, 기록을 유지합니다.
$wait 지정된 기간(밀리초) 이상으로 기다립니다.

IInteractiveWindowCommand 클래스를 구현하고 내보내어 Visual Studio 익스텐션으로 명령을 확장할 수도 있습니다. 자세한 정보는 GitHub의 예를 참조하세요.

대화형 창 범위 전환

기본적으로 프로젝트의 대화형 창은 명령 프롬프트에서 프로그램 파일을 실행한 것처럼 프로젝트의 시작 파일로 범위가 지정됩니다. 독립 실행형 파일의 경우 해당 파일로 범위가 설정됩니다. REPL 세션 중에 언제든지 모듈 범위 드롭다운을 사용하여 범위를 변경할 수 있습니다.

모듈 범위 드롭다운 메뉴를 사용하여 Visual Studio 2022의 대화형 창에서 범위를 변경하는 방법을 보여 주는 스크린샷.

모듈 범위 드롭다운 메뉴를 사용하여 대화형 창에서 범위를 변경하는 방법을 보여 주는 스크린샷.

import importlib 등의 모듈을 가져오면 모듈 범위 드롭다운 메뉴에 해당 모듈의 모든 범위로 전환할 수 있는 옵션이 나타납니다. 대화형 창의 메시지는 새 범위에 대한 변경 사항을 보고하므로 명령 기록을 검토하여 세션 중에 특정 상태에 도달한 방법을 추적할 수 있습니다.

범위에 dir() 명령을 입력하면 Visual Studio에 함수 이름, 클래스 및 변수 등 해당 범위에서 유효한 식별자가 표시됩니다. 다음 이미지는 importlib 범위에 대한 dir() 명령의 결과를 보여줍니다.

Visual Studio 2022의 importlib 범위에 대한 대화형 창의 출력을 보여 주는 스크린샷.

importlib 범위에 대한 대화형 창의 출력을 보여 주는 스크린샷.

대화형 창에 코드 보내기

대화형 창 내에서 직접 작업하는 것 외에도 Visual Studio 편집기에서 창을 통해 코드를 보낼 수 있습니다. 이 명령은 코드 개발 중 테스트를 포함하여 반복적이거나 발전적인 코드 개발에 유용합니다.

  1. Visual Studio 편집기에서 코드 파일을 열고 코드의 일부 또는 전체를 선택합니다.

  2. 선택한 코드를 마우스 오른쪽 단추로 클릭하고 대화형으로 보내기(또는 바로 가기 키 Ctrl+E, E 사용)를 선택합니다.

    Visual Studio 2022에서 대화형으로 보내기 메뉴 옵션을 사용하는 방법을 보여 주는 스크린샷.

    Visual Studio에서 대화형으로 보내기 메뉴 옵션을 사용하는 방법을 보여 주는 스크린샷.

코드 수정 및 실행

대화형 창에 코드를 보내고 출력을 확인한 후 코드를 수정하고 변경 내용을 테스트할 수 있습니다. 위쪽 및 아래쪽 화살표를 사용하여 창의 명령 기록에 있는 코드로 스크롤합니다. Ctrl+Enter를 선택하여 코드를 수정하고 업데이트된 코드를 실행합니다.

내용을 변경할 때 전체 코드 문의 끝에서 Enter를 선택하면 Visual Studio에서 코드를 실행합니다. 코드 문이 완료되지 않으면 Visual Studio에서 창에 줄 바꿈을 삽입합니다.

코드 저장 및 프롬프트 제거

코드 작업을 완료한 후 대화형 창에서 업데이트된 코드를 선택하고 프로젝트 파일에 다시 붙여넣어 작업을 저장할 수 있습니다.

대화형 창의 코드를 편집기에 붙여넣으면 Visual Studio는 기본적으로 REPL 명령 프롬프트 >>>와 계속 프롬프트 ...를 제거합니다. 이 동작을 사용하면 창에서 편집기로 코드를 쉽게 전송할 수 있습니다.

대화형 창에 대한 REPL 프롬프트 제거 붙여넣기 옵션을 사용하여 동작을 변경할 수 있습니다.

  1. 도구>옵션을 선택하여 옵션 대화를 엽니다.

  2. 텍스트 편집기>Python>서식 섹션을 확장합니다.

  3. REPL 프롬프트 제거 붙여넣기 옵션을 선택 취소합니다.

  1. 도구>옵션을 선택하여 옵션 대화를 엽니다.

  2. 텍스트 편집기>Python>고급 섹션을 확장합니다.

  3. REPL 프롬프트 제거 붙여넣기 옵션을 선택 취소합니다.

옵션을 선택 취소하면 프롬프트 문자가 창에서 붙여넣은 코드에 유지됩니다. 자세한 정보는 옵션 - 기타 옵션을 참조하세요.

IntelliSense 동작 검토

IntelliSense가 소스 코드 분석만을 기반으로 하는 코드 편집기와 달리 대화형 창에는 라이브 개체를 기반으로 한 IntelliSense 제안이 포함되어 있습니다. 결과적으로 대화형 창의 IntelliSense 제안은 특히 동적으로 생성된 코드의 경우 더 정확합니다. 단점은 부작용(예: 로깅 메시지)이 있는 함수가 개발 환경에 영향을 줄 수 있다는 점입니다.

완료 옵션을 통해 Intellisense 동작을 조정할 수 있습니다.

  1. 도구>옵션을 선택하여 옵션 대화를 엽니다.

  2. Python>대화형 창 섹션을 확장합니다.

  3. 식 계산 안 함 또는 정적 분석 제안 숨기기와 같은 완료 모드 그룹의 설정을 조정합니다.

자세한 정보는 옵션 - 대화형 창 옵션을 참조하세요.