Поддерживает ли терминал ввод с мыши аналогично тому, как это делает VSCode?

Вопрос или проблема

Очень часто я уже держу руку на мыши и просто нужно быстро сделать выбор или переместить курсор с помощью мыши.

Чтобы выполнять стандартные действия, такие как установка курсора на определенное слово и выделение одного или нескольких слов. Ничего не отличается от VSCode, как показано в этом примере ЗДЕСЬ

Для ясности, я не говорю о выборе строк, которые были выведены предыдущей командой, а о команде, которая в данный момент вводится, например, в PowerShell.

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

Я совсем не использую WSL, только PowerShell.

Существует ли способ сделать это в стандартном терминале Windows или, по крайней мере, для PowerShell и CMD?

Цитируя zadjii-msft на GitHub терминала Microsoft:

Нет, это не то, что будет работать без сотрудничества приложения командной строки, которое запускается в терминале. Например, bash или cmd.exe. Эти приложения действительно отвечают за отрисовку подсказки и строки ввода. Их нужно будет изменить, чтобы поддерживать клик для установки позиции курсора. Не уверен, что знаю какое-либо приложение оболочки, которое это действительно поддерживает, если честно. Вы можете подтвердить это, попытавшись запустить эквивалентную команду в окне устаревшей консоли – обратите внимание, что мышь там тоже не работает таким образом в оболочках.

vim является классическим примером приложения, осведомленного о мыши.

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


  • Расширение терминала PowerShell для VS Code позволяет использовать Alt+Click для изменения позиции курсора
  • Windows PowerShell ISE встроен в Windows (хотя больше не обновляется) и позволяет обычные щелчки
  • Дополняя исчерпывающий ответ Капитана Уэйла, VSCode теперь поддерживает перемещение курсора в нескольких своих интегрированных терминалах! Кроме PowerShell, я протестировал все свои IDE VSCode и могу подтвердить, что это также работает на:

    • Git Bash
    • Командной строке
    • Ubuntu (WSL)
    • Отладке JavaScript

    На сегодняшний день это стало возможным. Чтобы сделать это, обновите до последней версии Windows Terminal v1.21.2361.0, затем просто включите experimental.repositionCursorWithMouse, перейдя в настройки и переведя переключатель на «включено» для следующего:

    Включение настройки перемещения курсора с мышью

    После этого просто следуйте руководству здесь, чтобы включить интеграцию оболочки для каждой из ваших оболочек (PowerShell/CMD/git-bash и др.), и вы сможете перемещать курсор щелчком мыши, как показано ниже:

    Перемещение курсора с помощью мыши

    Ответ или решение

    Поддержка ввода с мыши в терминале Windows: Общая информация

    Терминалы, такие как PowerShell и CMD, традиционно не поддерживают использование мыши для перемещения курсора и выделения текста в процессе ввода комманд. Это связано с тем, что именно эти приложения отвечают за отрисовку приглашений и строк ввода, и они не имеют встроенной функциональности для работы с мышью аналогично тому, как это реализовано в современных IDE, таких как Visual Studio Code (VSCode).

    Ввод с мыши в терминале Windows

    С точки зрения функциональности, терминал Windows действительно регистрирует ввод с мыши, но для полноценного взаимодействия требуется сотрудничество со стороны самих приложений командной строки. Обычные консоли, такие как CMD и PowerShell, не поддерживают указание позиции курсора по щелчку мыши. Об этом упоминает сотрудник Microsoft в комментарии к GitHub-репозиторию терминала, где он объясняет, что необходимо наличие модификации в приложениях, чтобы это стало возможным. Пример программы, поддерживающей ввод мыши, – это текстовый редактор Vim.

    Обновления в Windows Terminal

    С выходом версии 1.21.2361.0 терминала Windows были внесены изменения, позволяющие использовать курсор мыши для его перемещения. Для активации этой функции пользователям необходимо настроить параметр experimental.repositionCursorWithMouse через меню настроек терминала:

    1. Откройте настройки терминала Windows.
    2. Найдите параметр experimental.repositionCursorWithMouse.
    3. Включите его для активации функции.

    После настройки требуется интеграция с оболочками (например, PowerShell, CMD, Git Bash и т.д.) для полноценного использования функции.

    Поддержка в других средах разработки

    Хотя стандартные консоли Windows не поддерживают ввод мыши для изменения позиции курсора, некоторые инструменты с встроенными терминалами это делают. Например:

    • VS Code: Поддерживает изменение позиции курсора с помощью комбинации Alt + Click в терминале PowerShell и других интегрированных терминалах.
    • Windows PowerShell ISE: Позволяет выполнять щелчки мышью для выбора текста и перемещения курсора, хотя данное приложение больше не обновляется.

    Заключение

    Если вы работаете в средах, где необходима поддержка мышиного ввода, рекомендуется использовать терминал Windows версии 1.21.2361.0 и активировать соответствующий параметр. Для более сложных взаимодействий и управления можно рассмотреть использование IDE, как VS Code, где ввод с мышью является стандартной и встроенной функциональностью.

    Оцените материал
    Добавить комментарий

    Капча загружается...