Терминал кода Visual Studio не работает

Обновлено: 02.07.2024

Visual Studio Code вместе с расширением Remote — WSL позволяет использовать WSL в качестве постоянной среды разработки непосредственно из VS Code. Вы можете:

  • разработка в среде на базе Linux
  • использовать наборы инструментов и утилит для Linux
  • запускайте и отлаживайте приложения для Linux, не выходя из Windows, сохраняя при этом доступ к таким инструментам повышения производительности, как Outlook и Office
  • используйте встроенный терминал VS Code для запуска выбранного вами дистрибутива Linux
  • воспользуйтесь преимуществами функций VS Code, таких как автодополнение кода Intellisense, линтинг, поддержка отладки, фрагменты кода и модульное тестирование
  • легко управлять контролем версий благодаря встроенной поддержке Git в VS Code
  • выполнять команды и расширения VS Code непосредственно в проектах WSL
  • редактировать файлы в вашей файловой системе Linux или смонтированной файловой системе Windows (например, /mnt/c), не беспокоясь о проблемах с путями, совместимости двоичных файлов или других проблемах, связанных с разными ОС

Установите VS Code и расширение Remote WSL

Перейдите на страницу установки VS Code и выберите 32- или 64-разрядную версию программы установки. Установите Visual Studio Code в Windows (не в вашей файловой системе WSL).

Когда во время установки будет предложено выбрать дополнительные задачи, обязательно установите флажок «Добавить в PATH», чтобы можно было легко открыть папку в WSL с помощью команды кода.

Установите пакет расширения удаленной разработки. Этот пакет расширений включает расширение Remote-WSL в дополнение к расширениям Remote-SSH и Remote-Containers, что позволяет открывать любую папку в контейнере, на удаленном компьютере или в WSL.

Чтобы установить расширение Remote-WSL, вам потребуется майская версия 1.35 или более поздняя версия VS Code. Мы не рекомендуем использовать WSL в VS Code без расширения Remote-WSL, так как вы потеряете поддержку автозаполнения, отладки, линтинга и т. д. Интересный факт: это расширение WSL установлено в $HOME/.vscode/extensions (введите команда ls $HOME\.vscode\extensions\ в PowerShell).

Обновите дистрибутив Linux

В некоторых дистрибутивах WSL Linux отсутствуют библиотеки, необходимые серверу VS Code для запуска. Вы можете добавить дополнительные библиотеки в свой дистрибутив Linux с помощью его диспетчера пакетов.

Например, чтобы обновить Debian или Ubuntu, используйте:

Чтобы добавить wget (для получения контента с веб-серверов) и ca-certificates (чтобы позволить приложениям на основе SSL проверять подлинность SSL-соединений), введите:

Открыть проект WSL в Visual Studio Code

Из командной строки

Чтобы открыть проект из дистрибутива WSL, откройте командную строку дистрибутива и введите: code .

Из кода VS

Вы также можете получить доступ к дополнительным параметрам VS Code Remote, используя сочетание клавиш CTRL+SHIFT+P в VS Code, чтобы вызвать палитру команд. Если вы затем наберете Remote-WSL, вы увидите список доступных параметров VS Code Remote, что позволит вам повторно открыть папку в удаленном сеансе, указать, в каком дистрибутиве вы хотите открыть, и т. д.

VS Code

Расширения внутри VS Code Remote

Расширение Remote-WSL разделяет VS Code на архитектуру «клиент-сервер», когда клиент (пользовательский интерфейс) работает на вашем компьютере с Windows, а сервер (ваш код, Git, плагины и т. д.) работает удаленно.< /p>

При запуске VS Code Remote при выборе вкладки "Расширения" отображается список расширений, разделенных между вашим локальным компьютером и дистрибутивом WSL.

Установку локального расширения, например темы, нужно установить только один раз.

Некоторые расширения, такие как расширение Python или все, что обрабатывает такие вещи, как линтинг или отладка, должны быть установлены отдельно в каждом удаленном дистрибутиве WSL. VS Code отобразит значок предупреждения ⚠ вместе с зеленой кнопкой «Установить в WSL», если у вас локально установлено расширение, которое не установлено на вашем WSL Remote.

VS Code с удаленным — расширения WSL и локальные расширения

Дополнительную информацию см. в документации по VS Code:

При запуске VS Code Remote в WSL сценарии запуска оболочки не запускаются. Дополнительную информацию о том, как запускать дополнительные команды или изменять среду, см. в этой статье о сценарии расширенной настройки среды.

Возникли проблемы с запуском VS Code из командной строки WSL? Это руководство по устранению неполадок включает советы по изменению переменных пути, устранению ошибок расширения, связанных с отсутствующими зависимостями, устранению проблем с окончанием строки Git, установке локального VSIX на удаленном компьютере, запуску окна браузера, блокировке порта localhost, неработающим веб-сокетам, ошибкам хранения данных расширения. и многое другое.

Установите Git (необязательно)

Если вы планируете сотрудничать с другими или размещать свой проект на сайте с открытым исходным кодом (например, GitHub), VS Code поддерживает управление версиями с помощью Git. Вкладка "Управление версиями" в VS Code отслеживает все ваши изменения и содержит общие команды Git (добавить, зафиксировать, отправить, извлечь), встроенные прямо в пользовательский интерфейс.

Установите терминал Windows (необязательно)

Новый терминал Windows поддерживает несколько вкладок (быстрое переключение между командной строкой, PowerShell или несколькими дистрибутивами Linux), настраиваемые привязки клавиш (создание собственных сочетаний клавиш для открытия или закрытия вкладок, копирование и вставка и т. д.), смайлики ☺ и настраиваемые темы (цветовые схемы, стили и размеры шрифтов, фоновое изображение/размытие/прозрачность). Дополнительные сведения см. в документации Windows Terminal.

Этот документ посвящен сообщениям о проблемах для встроенного терминала (ctrl + `). Узнайте больше о том, как использовать терминал в документации.

Создание отличных задач терминала

  • Обязательно прочтите приведенные ниже разделы с часто задаваемыми вопросами и давно известными проблемами, так как вы можете сообщить об уже известной проблеме.
  • Укажите версию VS Code, версию операционной системы и список используемых вами расширений. В идеале для этого следует использовать средство создания отчетов о проблемах, встроенное в VS Code, поскольку оно автоматически включает эту информацию в отчет.
  • Хорошей идеей обычно является добавление снимка экрана или GIF-изображения.
  • Включение вашего файла settings.json также является хорошей идеей, так как многие проблемы обычно связаны с неправильной конфигурацией.
  • Обратите внимание, если вы используете расширение для запуска терминала, например, используете отладчик для запуска терминала, языковое расширение (например, встроенную консоль PowerShell) или что-то вроде Code Runner. Если это так, есть большая вероятность, что проблема связана с расширением, а не с VS Code.

Дополнения для Windows:

  • Не забудьте указать номер сборки, если вы работаете в Windows 10. Он прикрепляется автоматически при использовании встроенного средства создания отчетов о проблемах или может быть получен вручную при запуске ver в cmd.exe .
  • Если вы работаете в Windows 10 1809 и более ранних версиях, вы будете использовать старую серверную часть терминала под названием winpty , многие из этих проблем не будут подлежать действию и закрыты, поскольку их решение заключалось в переходе на новую интерфейсную часть conpty .

Давно известные проблемы

Вот некоторые давние известные проблемы в терминале:

Какие выпуски помещаются в какие репозитории

У терминала есть несколько зависимостей, которые также являются проектами с открытым исходным кодом, например xterm.js, node-pty и conpty. Управлять проблемами во многих репозиториях сложно, поэтому общее правило, которому мы следуем при проблемах с терминалом, заключается в том, что довольно нишевые проблемы восходящего потока отслеживаются только в исходных репозиториях, а основные проблемы восходящего потока также отслеживаются в VS Code, чтобы улучшить обнаруживаемость проблемы в вопрос.

Диагностика проблем с терминалом

Включение ведения журнала трассировки

Для некоторых проблем с терминалом полезно получить журналы трассировки, это может показать, в какой момент что-то выходит из строя. Выполните следующие действия, чтобы получить журналы:

  1. Закройте все окна VS Code.
  2. Запустите VS Code из терминала, используя code --log trace
  3. На этом этапе вы должны воспроизвести возникшую у вас проблему с терминалом
  4. Выполните команду «Разработчик: открыть файл журнала». (F1 открывает палитру команд) и выберите «Окно», чтобы открыть редактор, содержащий журналы. Выберите файл журнала Remote Extension Host, если вы диагностируете проблему в удаленной рабочей области (SSH/WSL/Containers/Codespace).

Если по какой-то причине вы не можете перезапустить VS Code, как если бы вы работали на удаленном компьютере, вы можете изменить уровень журнала с помощью палитры команд ( Разработчик F1: Установить уровень журнала. ).

Включение ведения журнала управляющих последовательностей

Для проблем, связанных с неправильным поведением текста в терминале, вы можете включить ведение журнала данных, отправляемых в/из эмулятора терминала и процесса оболочки. Чтобы включить ведение журнала escape-последовательностей, запустите команду «Терминал: Переключить ведение журнала Escape-последовательностей» из палитры команд ( F1 ). Затем журналы можно просмотреть в консоли devtools (Справка > Переключить инструменты разработчика).

Использование showkey для исследования проблем с привязкой клавиш

Существует утилита showkey, которая печатает коды символов, полученные приложением. Это похоже на описанное выше ведение журнала escape-последовательностей, но оценивается на стороне процесса. Установите showkey, установив пакет kbd в Linux или showkey в homebrew, например:

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

  • Увеличение и уменьшение масштаба (ctrl/cmd++, ctrl/cmd+-) заставит визуализатор перерисовать все.
  • Терминал поддерживает средства визуализации webgl, 2d canvas и dom.Изменение типа средства визуализации может выявить проблемы с конкретным средством визуализации. Вы можете отключить средства визуализации холста с помощью этого параметра:

Известные проблемы с отображением:

Проблемы с переносом текста

Иногда перенос терминала не работает должным образом, например, строка, которая должна быть перенесена, начнет перезаписывать первую часть перенесенной строки. Этот тип проблемы обычно связан с разным количеством столбцов в бэкэнде и во внешнем интерфейсе. Вы можете получить количество столбцов внешнего интерфейса, подсчитав количество ячеек в строке, для внутреннего интерфейса stty -a | столбцы grep должны сообщить вам об этом.

Почему вы закрыли мою проблему?

Мы получаем много проблем, и нам приходится делить время между реагированием на проблемы и фактическим улучшением продукта. Из-за этого у нас довольно высокая планка качества и воспроизводимости проблемы, и если мы не можем воспроизвести проблему, нам, возможно, придется ее закрыть, поскольку мы не можем с ней справиться.

Аналогичным образом мы зависим от нескольких вышестоящих компонентов и можем закрыть проблему, если проблема связана с одним из них. Основным примером этого является «conpty», который представляет собой зависимость, созданную командой Windows Terminal и поставляемую как часть Windows. Это намного лучше, чем раньше, поскольку есть группа экспертов, занимающихся Windows Terminal и его бэкэнд-контентом, но они также связывают последнюю версию conpty, которую мы можем получить год спустя, когда будет выпущено обновление Windows. Таким образом, мы можем закрыть вашу проблему как проблему, связанную с нарушением, даже если она отлично работает в Windows Terminal, поскольку, скорее всего, она исправлена ​​в более поздней версии Windows. Другим побочным эффектом этого является то, что наш старый бэкэнд «winpty» теперь устарел, и мы не планируем его улучшать, поскольку «исправление» проблем в winpty заключается в переходе на поддерживаемую официальную бэкэнд-контент Microsoft.

Можем ли мы решить проблему, это основная причина, по которой мы закрываем проблемы, но мы также можем закрыть проблему, как задумано, или выйти за рамки. Вы можете посетить страницу обработки проблем, чтобы узнать больше о том, как мы решаем проблемы и сортируем их.

Как открыть визуальный Код студии с вашего терминала

В этом руководстве мы рассмотрим, как открыть текстовый редактор VS Code (Visual Studio Code) с терминала Mac.

Открытие текстового редактора из терминала – это быстрый и простой способ открыть новые проекты и быстрее начать писать код.

Как скачать и открыть VS Code

Первое, что вам нужно сделать, это открыть VS Code. Если у вас еще нет VS Code, вы можете скачать его здесь. VS Code – популярный текстовый редактор, созданный Microsoft.

После того как вы откроете VS Code, он должен выглядеть следующим образом:

image

Далее запустите Command + Shift + P .

Теперь вы должны увидеть это:

image- 1

Что мы здесь сделали, так это открыли палитру команд VS Code. Это позволит вам, среди прочего, настроить параметры VS Code.

Затем в командной палитре введите shell и нажмите Enter. Когда вы вводите shell , ваш редактор должен выглядеть так:

image- 2

Как только вы нажмете Enter, вуаля! Вы все сделали. Теперь вы должны увидеть сообщение об успешном завершении:

image- 3

Теперь вы можете открывать VS Code из своего терминала. Давайте сделаем это сейчас.

Как открыть VS Code из терминала

Сначала откройте свой терминал. Вы можете открыть свой терминал несколькими способами. Один из способов открыть терминал — одновременно нажать командную кнопку и пробел. Откроется поиск в центре внимания. Отсюда вы можете ввести «терминал».

Открыв терминал, вы можете открыть из него VS Code, введя $ code . Затем нажмите Enter .

Visual Studio Code имеет встроенный терминал, с помощью которого вы можете запускать код, открывать папки, создавать новые файлы и делать множество других замечательных вещей . Но иногда это может доставить вам некоторые проблемы, если вы не работаете. Сегодня мы увидим, как исправить неработающий терминал VS Code?

Мы увидим различные проблемы, которые обычно возникают с терминалом, и найдем решение каждой из них. Итак, приступим!

Пустой экран терминала VS Code

Нажатие возврата

  1. Используйте Ctrl+Shift+`, чтобы открыть новый терминал.
  2. Нажмите внутри него.
  3. Нажмите клавишу "Ввод/Ввод".

Выключить/Перезапустить

Иногда проблема может быть решена только после выключения и повторного включения компьютера. Для этого выполните следующие действия:

  1. Нажмите значок Windows в левом нижнем углу.
  2. Затем нажмите значок кнопки питания.
  3. Здесь выберите завершение работы (если какая-либо программа или процесс запущены, пожалуйста, остановите их перед завершением работы).
  4. После этого перезагрузите компьютер.

Изменение оболочки командной строки по умолчанию

Смена оболочки и повторное переключение на предыдущую также может решить эту проблему. Для этого выполните следующие действия:

  1. Используйте Ctrl+Shift+`, чтобы открыть новый терминал.
  2. Затем нажмите стрелку рядом с плюсом (+).
  3. Здесь выберите «Выбрать профиль по умолчанию».
  4. Затем выберите любой другой тип оболочки командной строки.
  5. Затем перезапустите vs code и попробуйте работать в терминале.

Переустановка VS Code

Если все шаги, упомянутые выше, не работают, только тогда я рекомендую вам переустановить vs code на вашем устройстве.

Добавление новой оболочки командной строки

Если возврат к той же оболочке не помог, попробуйте добавить новую оболочку командной строки и поработать над ней. Для этого выполните следующие действия:

  1. Используйте Ctrl+Shift+`, чтобы открыть новый терминал.
  2. Затем нажмите значок плюса (+) в правом верхнем углу терминала.
  3. Здесь выберите любой другой тип командной оболочки (выберите тот, который вы умеете использовать).
  4. Тогда вы можете попробовать поработать над этим.

Отключение режима совместимости

Если режим совместимости для Visual Studio Code является собственным, это может прервать работу терминала. Для этого выполните следующие действия:

  1. Нажмите на значок ярлыка Visual Studio Code.
  2. Здесь нажмите «Свойства».
  3. Затем откройте вкладку "Совместимость".
  4. Вы увидите параметр в разделе "Режим совместимости", помеченный как "Запустить эту программу в режиме совместимости для", снимите этот флажок.

Итак, это были различные методы, с помощью которых вы можете решить проблему с терминалом кода Visual Studio, показывающую черный экран.

Встроенный терминал не открывается (вместо этого открывается внешний)

Если вы столкнулись с этой проблемой, ваш встроенный терминал не открывается, а открывается внешний терминал всякий раз, когда вы пытаетесь открыть новый терминал. Чтобы устранить эту проблему, выполните следующие действия:

  1. Откройте Visual Studio Code.
  2. Нажмите значок настроек (значок шестеренки) в левой нижней части окна.
  3. Затем нажмите "Настройки".
  4. В настройках нажмите на строку поиска (вверху), введите: terminal conpty и нажмите Enter.
  5. Затем отключите параметр conpty.

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

Терминал не принимает ввод

Всякий раз, когда вы пытаетесь ввести что-то внутри терминала, он не позволяет вам это сделать. В этом случае вы можете попробовать запустить vs code в качестве администратора, для этого выполните следующие действия:

  1. Прежде всего, закрытие и код.
  2. Теперь щелкните его правой кнопкой мыши и выберите "Запуск от имени администратора".
  3. Затем откройте терминал и попробуйте ввести/вставить текст.

Если этот метод не сработал для вас, дополнительные решения вы можете найти в нашей полной статье по этой теме: Исправление: терминал VS Code не разрешает ввод/вставку

Заключение

Итак, это были различные наиболее распространенные проблемы, связанные с терминалом VS Code, и это были их решения. Надеюсь, после этого проблема с неработающим терминалом vs code будет решена. В случае возникновения каких-либо вопросов, вы можете написать их в разделе комментариев ниже. Хорошего дня!

Читайте также: