Visual Studio Code의 Python 디버깅에서 input() 처리 방법

2261 단어 VSCodePython

입문


Visual Studio Code에 Python Extensions를 설치한 표준 상태에서는 디버깅 시 input()의 표준 입력을 받아들일 수 없습니다.
대응 방법은 공식 가이드에 기재돼 있지만 너무 간결하게 써서 이해하기 어려워 요약했다.
표준 입력을 사용하려면 Python의 디버그 컨트롤러를 external로 변경해야 합니다.
드롭다운 메뉴에서 간단하게 전환할 수 있는 방법이 있어서 그 방법을 추가했습니다.

환경


macOS: High Sierra Version 10.13.3
VS Code: Version 1.20.1
Python Extension: Version 2018.1.0

메서드 1: 드롭다운 목록에서 변경

  • 왼쪽 창에서 디버그 아이콘을 누릅니다
  • 맨 위의 드롭다운 목록에서 "Python Terminal(external)"을 선택합니다

  • 이렇게 하면 디버깅이 실행될 때 표준 Terminal이 자동으로 다른 창에서 시작되기 때문에 거기에서 입력 작업을 할 수 있습니다.

    방법 2: 기본값 변경

  • 왼쪽 창의 Debug 버튼을 누르고 톱니바퀴 아이콘(Open launch.json)을 누르면 설정 파일이 표시됩니다
  • "name": "Python"부분에서 "console": "external Terminal"을 추서합니다
  • launch.json
            {
                "name": "Python",
                "console": "externalTerminal",
    
    삼.이때 아래의 "Python: Terminal(integrated)"또는 "name": "Python: Terminal(external)"부분은 편집할 필요가 없기 때문에 원래대로 유지합니다.
    4. launch.json을 저장하면 즉시 반영합니다.VS 코드를 재부팅할 필요가 없습니다.
    단계는 여기서 끝냅니다.

    참고 자료


    공식 안내서
    https://code.visualstudio.com/docs/python/debugging#_unable-to-capture-user-input-while-debugging
    릴리즈 노트
    https://blogs.msdn.microsoft.com/ayatokura/2016/09/10/vsc1-5-1_releasenote/
    이전 방법 "external Console":true가 필요하지 않음을 나타냅니다.

    좋은 웹페이지 즐겨찾기