#linux #visual-studio #windows-subsystem-for-linux
#linux #visual-studio #windows-subsystem-for-linux
Вопрос:
В VS2019 мы можем создавать консольные приложения Linux. В отладчике Visual Studio они выполняются с использованием окна консоли Linux для стандартного ввода и стандартного вывода.
В «реальной» оболочке Linux нажатие клавиши Ctrl-D указывает на конец ввода в консольное приложение. Ctrl-D не работает в окне консоли Linux. (Visual Studio использует Ctrl-D в качестве первой клавиши аккорда — по крайней мере, с использованием привязок клавиш по умолчанию)
Какое нажатие клавиши мне нужно?
ПРИМЕЧАНИЕ — я НЕ прошу здесь Ctrl-Z. Это будет указывать на конец ввода в консольную программу Windows, запущенную в окне командной строки.
Комментарии:
1. Терминал / консоль — это отдельное приложение, которое передает пользовательский ввод в консольные приложения. Это не имеет ничего общего с Visual Studio. Какой терминал вы используете? Нет
Linux Console Window
, есть старая консоль или новый терминал Windows2. Спасибо @PanagiotisKanavos Я следовал инструкциям в этом блоге. ( devblogs.microsoft.com/cppblog / … ) немного скорректировано, потому что я думаю, что моя версия VS2019 немного позже, чем когда был написан блог. Однако, как показано на скриншотах, в Visual Studio есть «Окно консоли Linux». Он появляется при запуске в отладчике. Я могу ввести там консольный ввод, и он поступает через стандартный интерфейс в мою программу. там отображается стандартный вывод. Я просто не знаю, как имитировать EOF в нем.
3.
Ctrl D
это сочетание клавиш в Visual Studio. Вы пробовали запускать свое приложение вне Visual Studio?4. Запуск вне Visual Studio дает стандартное поведение Linux, где Ctrl-D == EOF. Это работает как в «реальном» Linux, так и в WSL. Это не решение. Я хочу запустить программу в отладчике VS; и я хочу знать, как отправить EOF в стандартный интерфейс программы.