2016-04-18 2 views
5

Вот расширение для python, которое я использовал в коде vs: python extension.Чтение ввода во время отладки в Python с VSCode

Когда я использую функцию отладки, предоставляемую расширением, она будет висеть там и ничего не делать, если ей требуется ввод из командной строки.

Где я могу ввести значения для шага по инструкции ввода в коде vs?

+0

Добавили ли вы python на свой путь? Вы посмотрели здесь https://github.com/DonJayamanne/pythonVSCode/wiki/Python-Path-and-Version –

+1

@DaneBalia Я сделал это, и это тоже не работает для меня. Можете ли вы привести пример, как вы справитесь с этим в VS Code? Я тестирую один файл строки с помощью '' print (input ('add test input')) '' и он просто застревает там в debuger. – Igor

ответ

7

trick to getting this to work размещается на wiki-странице расширения (Don Jayamanne's Python). Вы должны включить "externalConsole": true в раздел launch.json файла "name": "Python".

вики внутренней линии подтверждает, что это не работает по умолчанию:

Это позволяет захватывать ввода с консоли/окно терминала приложений с, что невозможно в стандартном VSCode отладчика.

Вот шаги к получению этой работы:

  1. Из окна отладки (Ctrl + Shift + D), нажмите на значок шестеренки мало, чтобы открыть (или генерировать) а launch.json файл. Он помещается в каталог .vscode в той папке, которую вы выбрали в качестве «открытой папки» в коде VS.
  2. Вы должны добавить параметр pythonPath в первый блок конфигурации. Это необходимо для работы отладчика вообще.
  3. Вы также должны добавить параметр и externalConsole в тот же блок. Это то, что необходимо, чтобы отладчик принимал ввод. При отладке отдельное окно открывается вне кода VS, но в противном случае работает хорошо.
  4. После того, как вы добавите обе настройки, блок должен выглядеть примерно так. Мне не пришлось ничего менять в остальной части файла launch.json.

    { 
        "name": "Python", 
        "type": "python", 
        "request": "launch", 
        "stopOnEntry": true, 
        "program": "${file}", 
        "pythonPath": "C:/Users/igor/Documents/Tools/WinPython-32bit-3.4.3.7Slim/python-3.4.3/python.exe", 
        "externalConsole": true, 
        "debugOptions": [ 
         "WaitOnAbnormalExit", 
         "WaitOnNormalExit", 
         "RedirectOutput" 
        ] 
    }, 
    
+1

Иными словами, «RTFM». :) –

2

VS Code имеют возможность для вас отладки с консоли Python. Вы просто нажмете Ctrl + Shift + D, а рядом с голубым изображением игры только что появилась стрелка вниз, вы просто щелкните и выберите приложение Python Console вместо простого Python like this

6

Директива externalconsole устарела. Используйте console вместо и указать свои предпочтения для внешнего таким образом:

"console": "externalTerminal" 

Выход приложения (и вход) будет идти в отдельном окне, так что отлаживать консоль VS код остается чистым питона подскажите где можно оценить материал во время контрольных точек ,

+0

Я использую VScode v1.17 для Linux. Он автоматически создает настройку ниже. { "имя": "Внешний терминал/консоль", "типа": "питон", "запрос": "запуск", "stopOnEntry": правда, "PYTHONPATH": «$ {конфигурации: python.pythonPath} " "программа": "$ {файл}", "УХО": "", "консоль": "externalTerminal", "окр": {}, "envFile":" $ {workspaceRoot} /. env ", " debugOptions ": [ " WaitOnAbnormalExit ", " WaitOnNormalExit " ] }, – user927387

2

Опция console может иметь любое из этих значений: internalConsole, integratedTerminal, externalTerminal.

Обычно, если вы запускаете отладчик и программа останавливается, он оставляет внешний терминал, отображающий подсказку Press Enter to continue . . ., для доступа к любому выходу программы. Если вы случайно получили синтаксическую ошибку, внешний терминал просто закрывается, не оставляя никакого сообщения.

При использовании опции integratedTerminal терминал остается там и отображает сообщение об ошибке.

Хотя я не знаю, является ли эта внешняя внешняя вещь ошибкой или нет, в этом случае функция IntegratedTerminal работает намного лучше.

0

В коде Visual Studio щелкните список выбора справа от зеленой стрелки. Затем выберите Python: Terminal (внешний). Когда вы запускаете скрипт, он запускается во внешнем окне и позволяет вам вводить ввод.

Смежные вопросы