Очистка экрана в c visual studio
Мне нужно очистить содержимое терминала в Visual Studio Code.
Каждый раз, когда я использую Maven, вывод терминала привязан к предыдущей сборке, что меня смущает.
Как очистить окно терминала с помощью какой-либо команды или сочетания клавиш?
cls не работает; он только скрывает текст.
Почему здесь так много повторений в ответах? Пожалуйста, прочтите, что написали другие, прежде чем подумать о добавлении еще одного ответа на этот вопрос.Используйте Ctrl + K . Это очистит вашу консоль в Visual Studio Code.
Согласно комментариям, в более поздних версиях VSCode (1.29 и выше) этот ярлык отсутствует / его необходимо создать вручную.
- Navigate: File > Preferences > Keyboard Shortcuts
- ищи workbench.action.terminal.clear
- Если у него нет сопоставления или вы хотите изменить сопоставление, продолжайте; в противном случае обратите внимание и используйте существующее сопоставление
- Дважды щелкните эту запись, и вам будет предложено ввести привязку ключа. Удерживайте CTRL и коснитесь K . Ctrl + K теперь должны быть перечислены. Нажмите Enter, чтобы сохранить это сопоставление
- Щелкните правой кнопкой мыши запись и выберите Change when expression . Введите и terminalFocus нажмите Enter.
- Вот и все. Теперь, когда терминал находится в фокусе и вы нажимаете ctrl +, k вы получите поведение, которое вы ожидали получить от запуска clear / cls .
Ctrl + Shift + P и выберите Terminal:clear
ВЕРСИИ НА И ВЫШЕ v1.32 СМ. НИЖЕ
Привязки для этой команды по-прежнему нужно настраивать вручную, даже если v1.33.1 я нахожусь. Команда находится внизу, Terminal: Clear но привязка пуста. Вот как вы можете настроить привязки v1.32 и выше.
Откройте Keyboard Shortcuts с помощью Ctrl + K , Ctrl + S . Затем щелкните значок <> рядом с Keyboard Shortcuts вкладкой, чтобы открыть keybindings.json файл.
После этого найдите свободное место в любом месте файла и введите привязку клавиш ниже.
Я считаю, что это для Visual Studio Code v1.18 до v1.32 ; Я иду v1.29.1 . Поскольку очевидно, что существует множество предположений о привязках по умолчанию, вот как вы настраиваете привязку, а затем используете ее. Имейте в виду, что эта привязка полностью удалит всю историю в вашем терминале.
Откройте Keyboard Shortcuts с помощью Ctrl + K , Ctrl + S . Как только вы войдете Keyboard Shortcuts , нажмите на keybindings.json текст с надписью . open and edit keybindings.json . Затем на ПРАВОЙ стороне keybindings.json добавьте это (убедитесь, что вы поставили запятую перед первым, < если уже есть одна или несколько привязок):
Помните, "key": что привязка может быть какой угодно. Это НЕ ДОЛЖНО быть Ctrl + K .
Чтобы использовать привязку клавиш, вы должны иметь фокус в своем терминале, а затем выполнить привязку.
Мне нужно очистить содержимое терминала в коде Visual Studio.
Каждый раз, когда я использую Maven, вывод терминала привязан к предыдущей сборке, что меня смущает.
Как очистить окно терминала с помощью какой-либо команды или сочетания клавиш?
cls не работает; это только скрывает текст.
22 ответа
Используйте Ctrl + K . Это делает вашу консоль чистой в Visual Studio Code.
Для версий в и выше v1.32 см. Ниже
Привязки для этой команды все еще должны быть настроены вручную, даже в v1.33.1 , где я нахожусь. Команда находится под Terminal: Clear , но привязка пуста. Вот как вы можете настроить привязки в v1.32 и выше.
Откройте Keyboard Shortcuts с помощью Ctrl + K , Ctrl + S . Затем нажмите <> рядом с вкладкой Keyboard Shortcuts , чтобы открыть файл keybindings.json .
После этого найдите свободное место в любом месте файла и введите привязку клавиш ниже.
Я полагаю, что это для кода Visual Studio v1.18 до v1.32 ; Я на v1.29.1 . Поскольку, очевидно, существует множество предположений о привязках по умолчанию, вот как вы устанавливаете привязку, а затем используете ее. Имейте в виду, что эта привязка полностью удалит всю историю вашего терминала.
Откройте Keyboard Shortcuts с помощью Ctrl + K , Ctrl + S . Как только вы окажетесь в Keyboard Shortcuts , нажмите keybindings.json в тексте с надписью . open and edit keybindings.json . Затем со стороны ПРАВО в keybindings.json добавьте это (убедитесь, что вы ставите запятую перед первым < , если уже есть одна или несколько привязок):
Помните, "key": может быть любой привязкой, которую вы хотите. Это не должно быть Ctrl + K .
Чтобы использовать связывание клавиш, вы должны сосредоточиться на своем терминале, а затем выполнить связывание.
Щелкните правой кнопкой мыши на терминале и выберите опцию очистки (для Ubuntu).
Чтобы окончательно удалить предыдущие команды, используйте эту
Remove-Item (Get-PSReadlineOption) .HistorySavePath
Попробуйте ввести «cls», если это не сработает, введите «Очистить» заглавную C. Никаких кавычек ни для каких. Надеюсь это поможет.
Чтобы очистить терминал, используя стандартные сочетания клавиш в новейшей версии VS-Code, вы нажимаете CTRL-L.
Используйте Ctrl + K , чтобы очистить терминал.
Но это невозможно в Linux Visual Studio Code.
Для Linux вы можете сделать как ниже:
С помощью командной палитры: ctrl + shift + p , «tclear»
Чтобы добавить это в ярлыки, скопируйте и вставьте это в файл привязки ключей:
Чтобы очистить терминал в коде VS, просто нажмите клавишу Ctrl + Shift + P , чтобы открыть палитру команд, и введите команду Terminal: Clear . Также вы перейдете в Вид в левом верхнем углу панели задач против кода и откроете Командную палитру .
Это позволит легко очистить терминал и работать с любым каталогом, который вы открыли в своем терминале. Это для Windows, также попробуйте, если это работает для Mac.
Вы можете изменить из меню настроек (по крайней мере, от версии 1.30.2 и выше) .
На Mac просто нажмите «Код»> «Настройки»> «Настройки».
Затем просто найдите «очистить» и выберите «Очистить предыдущий вывод».
Выберите Open Keyboard Shortcuts из палитры команд и добавьте следующее в файл сочетаний клавиш:
Я использую Visual Studio Code 1.38.1 на компьютере с Windows 10.
Попробовал следующие шаги:
PS C:\Users\username> Cls
Cmd + K будет работать, вам просто нужно снова установить в сочетаниях клавиш workbench.action.terminal.clear для Cmd + K, чтобы он отображался как Источник: Пользователь вместо Источник: По умолчанию - unmultimedio 12 марта 19 в 1: 13
Расширение Code Runner имеет параметр «Очистить предыдущий вывод», который мне нужен в 95% случаев.
File > Preferences > Settings > (search for "output") > Code-runner: Clear previous output
Оставшиеся несколько раз я отключу настройку и использую кнопку «Очистить вывод» (вверху справа на панели вывода), чтобы выборочно очистить накопленный вывод.
Это в Visual Studio Code 1.33.1 с Code Runner 0.9.8.
(Установка привязки клавиш для Ctrl+k не работала для меня, предположительно потому, что какое-то расширение определило «аккорды», начиная с Ctrl-k . Но «Очистить предыдущий вывод» на самом деле был лучшим вариантом для меня.)
- Просто нажмите кнопку передач в левом нижнем углу на экране кода VS
- затем поиск "Терминал: очистить"
- По умолчанию сочетание клавиш не назначено.
- Просто дважды щелкните Терминал: Очистить
- и дать предпочтительный ярлык на ваш выбор, чтобы очистить терминал.
- Обычно Ctrl + K используется, так как этот ярлык не назначен ни одной команде.
К вашему сведению: этот метод такой же, как @SuRa, но немного проще. Кстати: я использую VS Code версии 1.43.0
Клавиша F1 открывает ярлыки для меня с помощью Windows 10. Затем введите Терминал, и вы увидите вариант очистки.
Просто введите «очистить» в терминале (окна) или Ctrl + Shift + P и Mac - щелкните правой кнопкой мыши
Если вы на Mac, это ⌘ + k . :)
Кратчайший путь
Windows: ctrl + k
Поиск проблемы
Если ярлыки не работают для вас, наиболее вероятный сценарий состоит в том, что либо вы, либо установленное вами расширение добавили аккорд с открытым концом ctrl + k / cmd + k к другой ярлык.
Открытое значение, ярлык не имеет явного предложения when , исключающего фокус на терминале. Здесь есть два возможных решения.
Решение 1:
Если вы добавили ярлык, просто перейдите в ваш файл keybindings.json и добавьте предложение when , которое не включает фокус терминала. Пример:
Решение 2:
Кроме того, вы можете добавить команду workbench.action.terminal.clear в самый низ keybindings.json , чтобы она имела приоритет над другими ярлыками. Было бы целесообразно добавить комментарий, чтобы вы не забыли, а затем разместите новые аккорды под ним. Пример:
Для получения дополнительной информации ознакомьтесь с этой проблемой GitHub.
Написав 'clear' в терминале Visual Studio, эта команда может очистить ваш предыдущий
Вы можете использовать ниже, чтобы очистить экран в терминале: cls; или clr
есть ли "правильный" способ очистить окно консоли в C, кроме использования system("cls") ?
Ну, C не понимает концепцию экрана. Таким образом, любой код не будет переносимым. Может быть, взгляните на попечительством.h или проклятие, согласно вашим потребностям?
переносимость является проблемой, независимо от того, какая библиотека используется.
эта функция будет работать на терминалах ANSI, требует POSIX. Я предполагаю, что есть версия, которая также может работать на консоли окна, так как она также поддерживает escape-последовательности ANSI.
есть некоторые другие варианты, некоторые из которых не перемещают курсор в .
Так как вы упомянули cls , похоже, вы имеете в виду windows. Если так, то этот пункт КБ есть код, который это сделает. Я просто попробовал, и это сработало, когда я вызвал его со следующим кодом:
обходной путь, проверенный в Windows (cmd.exe), Linux (Bash и zsh) и OS X (zsh):
нет портативного способа сделать это. Хотя различные библиотеки манипуляции курсором, такие как проклятия, относительно переносимы. попечительством.h переносится между OS / 2 DOS и Windows, но не для *Nix вариантов.
все понятие "консоли" является понятием, выходящим за рамки стандарта C.
Если вы ищете чистое решение Win32 API, нет ни одного вызова в API консоли Windows, чтобы сделать это. Один из способов - FillConsoleOutputCharacter достаточно большого количества символов. Или WriteConsoleOutput можно использовать GetConsoleScreenBufferInfo чтобы выяснить, сколько символов будет достаточно.
вы также можете создать совершенно новый буфер экрана консоли и сделать текущей.
используя макросы, вы можете проверить, находитесь ли вы в Windows, Linux, Mac или Unix, и вызвать соответствующую функцию в зависимости от текущей платформы. Что-то вроде:
для переносимости попробуйте следующее:
тогда просто позвоните clrscr() . На Windows, он будет использовать conio.h ' s clrscr() , и в Linux он будет использовать escape-коды ANSI.
если вы действительно хотите делать это "правильно", вы можете устранить посредников ( conio , printf , etc.) и сделайте это только с помощью низкоуровневых системных инструментов (подготовьтесь к массивному дампу кода):
Он с радостью игнорирует все возможные ошибки, но эй, это консольная очистка. Не похоже на то, что system("cls") лучше справляется с ошибками.
Для * nixes вы обычно можете использовать escape-коды ANSI, поэтому это будет:
Используя system потому что это просто уродливо.
«Использование системы для этого просто уродливо». - Зачем? Уверенный выглядит чище для меня :) – Merlyn Morgan-Graham 27 June 2011 в 08:05 @ MerlynMorgan-Graham: он порождает процесс оболочки, чтобы очистить консоль friggin. Каким образом это чистое решение? : P Это похоже на echo через system() вместо записи в stdout. – Cat Plus Plus 27 June 2011 в 09:57 @ MerlynMorgan-Graham: Ну, это один лайнер. clear(); ;) – Cat Plus Plus 27 June 2011 в 10:09 Использование system() является распространенной ошибкой. Итак, это ваш предложенный метод для Unices. Это то, что нужно делать в системах POSIX. Вы получили правую часть Win32, хотя вы не включили «прокрутку назад», условность. – JdeBP 27 June 2011 в 15:48Самый простой способ - очистить поток несколько раз (в идеале больше, чем любая возможная консоль). 1024 * 1024, вероятно, не может быть никаким консольным окном.
Единственная проблема с это программный курсор; эта мигающая вещь (или не мигающая вещь) в зависимости от платформы / консоли будет в конце консоли, против нее. Однако это никогда не должно вызывать никаких проблем.
Единственный вызов cls () где угодно
Это не то, что ищет OP. Прочтите комментарий, добавленный к вопросу. – Agi Hammerthief 7 August 2017 в 08:04Это трудно сделать при просмотре MAC, поскольку он не имеет доступа к функциям Windows, которые могут помочь очистить экран. Мое лучшее исправление заключается в цикле и добавлении строк до тех пор, пока терминал не станет ясным, а затем запустите программу. Однако это не так эффективно или полезно для памяти, если вы используете это в первую очередь и часто.
Вы не можете. C ++ даже не имеет концепции консоли.
Программа может печатать на принтере, выводить прямо в файл или перенаправляться на вход другой программы для всего, что ей нужно. Даже если вы можете очистить консоль на C ++, это сделает эти случаи значительно более беспорядочными.
См. Эту запись в FAQ comp.lang.c ++:
Если у вас все еще есть смысл очистить консоль в вашей программе, и вас интересуют решения, зависящие от операционной системы, они существуют.
Для Windows (как в вашем теге) ознакомьтесь с этой ссылкой:
Изменить: этот ответ ранее упоминался с помощью system("cls"); , поскольку Microsoft заявила сделай это. Однако в комментариях было указано, что это не безопасно делать . Из-за этой проблемы я удалил ссылку на статью Microsoft.
Читайте также: