2015-09-30 3 views
3

Мое приложение читает stdin.Visual Studio Code перенаправить ввод на отладочный

var input = process.stdin.read(); 

Можно ли настроить код Visual Studio для перенаправления ввода при отладке? Так будет равна этой командной строке:

node app.js < input.txt 

Эта конфигурация не работает, отладка не запускается.

{ 
    "name": "Launch", 
    "type": "node", 
    "program": "app.js", 
    "stopOnEntry": false, 
    "args": [ 
    "<", 
    "input.txt" 
    ] 
} 
+0

ввода Перенаправление с «<» поддерживается только если команда и аргументы интерпретируются оболочки. Но конфигурация запуска сверху использует внутреннюю консоль отладки VS Code, которая не использует «оболочку». Вы можете добавить атрибут «console» в конфигурацию запуска либо с помощью значения «integerTerminal», либо «ExternalTerminal». В этом случае используется оболочка, и перенаправление ввода или вывода будет работать. –

ответ

2

args массива, как правило, для запуска узла и V8 двигателя времени выполнения флажков.

--no-deprecation 
    --throw-deprecation 
    --trace-deprecation 
    --v8-options 
    --max-stack-size=val 
    --icu-data-dir=dir 

    --enable-ssl2 
    --enable-ssl3 

Тип node --v8-options в командной строке, чтобы увидеть полный список V8 во время выполнения флагов.

Я бы рекомендовал вам запустить приложение с флагом отладки из командной строки, чтобы вы могли направить его на выполнение stdin, а затем приложить отладчик к выполняемому процессу.

> node --debug app.js 
Debugger listening on port 5858 

У вас может быть несколько конфигураций в файле launch.json. Добавьте или измените его, чтобы быть вашей конфигурацией отладки «Прикрепить». Для прикрепления необходимо указать «адрес» и «порт» (обратите внимание, что «адрес» должен быть установлен на «localhost», поскольку удаленная отладка еще не поддерживается). Порт должен быть таким, чтобы возвращаемый процесс отладки был возвращен выше.

enter image description here

После того, как ваше приложение работает на указанный порт, вы можете изменить цель отладки в раскрывающемся списке рядом с/запуска значок воспроизведения.

enter image description here

+0

Это похоже на обходной путь. – Dizzy

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