Содержание
В работе программиста много обычного текста. Комментарии к коду, описания коммитов, пулл-реквестов и тикетов, документация, ответы в чатах, запросы к ИИ-ассистенту. Всё это речь, и голосовой ввод для программистов в первую очередь про неё. Сам код голосом писать неудобно, и ниже сказано, почему.
Дальше о том, что диктовать, где поджидают сюрпризы и что проверить на своей машине. Редакторы и терминалы разные, поэтому там, где мы не проверяли, так и написано.
Что программисту стоит диктовать
Всё, что вы сказали бы коллеге вслух. Комментарий, объясняющий, почему здесь так сделано. Описание изменения для коммита. Текст пулл-реквеста, где нужно рассказать контекст. Заметка в тикете. Раздел README, который вы никак не соберётесь написать.
Хорошо ложится голос на длинные тексты. Рассказать, что изменилось и зачем, вслух проще, чем набрать три абзаца. А если вы набираете коммит, который состоит из одной строки, диктовка выигрывает мало, и руки справятся быстрее.
Комментарии и коммиты
Для комментария и описания коммита подойдёт короткая диктовка. Поставьте курсор в нужное место, зажмите клавишу, скажите одну-две фразы и отпустите. В Doslovno точка и заглавная ставятся сами. Если ваша команда требует префикса вроде типа изменения или номера задачи, добавьте его руками.
Если коммиты в вашей команде принято писать по-английски, в Doslovno есть формат «Перевод», он переводит сказанное на выбранный язык. Выбирается явно во время записи, по умолчанию стоит дословный. Приложение не ручается за смысл перевода, поэтому перечитайте результат перед коммитом.
Запросы к ИИ-ассистенту в редакторе
Здесь голос особенно удобен. Чем подробнее вы описали ассистенту задачу, тем меньше он додумывает, а подробно говорить проще, чем печатать. Продиктуйте, что должно получиться, какие есть ограничения, чего трогать нельзя и как вы поймёте, что всё сделано. Если ассистент предложил ответ, который вам не нравится, голосом легко объяснить, чем именно.
Панель чата в редакторе это обычное поле ввода. Как строить устный запрос и почему важна дословность формулировок, разобрано в статье про голосовой ввод для ChatGPT и других нейросетей. Фрагменты кода из своих файлов вставляйте из редактора, а надиктовывайте только пояснения.
Где голос не подходит
- Сам код. Скобки, кавычки, регистр в именах переменных и точные символы голосом получаются неловко.
- Команды терминала. Ошибка в одном символе меняет команду.
- Ключи, токены и пароли. Их не стоит произносить вслух.
- Пути к файлам, хеши коммитов, номера версий. Проще вставить из источника.
С командами есть отдельный риск. Если в терминал вставляется текст в несколько строк, оболочка может выполнить его построчно, в зависимости от настроек. Мы не проверяли, как это работает в каждой оболочке и каждом терминале. Не диктуйте команды, пока не убедились на своём примере.
Английские термины и названия
В программировании русская речь пересыпана английским. Названия фреймворков, библиотек, сервисов. Распознавание может записать их кириллицей, «реакт» вместо React. Doslovno исправляет популярные названия сам, а редкие чинит словарь. Поправили слово один раз, и дальше оно пишется правильно. Латиница для любого слова не обещается, и названия внутренних проектов придётся внести в словарь вручную. Подробности в статье про английские слова в русской речи.
Имена переменных и функций голосом диктовать не пробуйте. Длинное имя в camelCase распознавание превратит в обычные слова через пробел.
Что проверить на своей машине
Диктовка вставляет текст обычной вставкой, а не нажатиями клавиш. Значит, она сработает там, где работает ваша обычная вставка. Но редакторов и терминалов много, и пара мест требует проверки.
На Mac, если в Терминале включён безопасный ввод с клавиатуры, а это пункт меню Терминал › Безопасный ввод с клавиатуры, другие программы не могут видеть, что вы вводите. Это описано в справке Apple. В поле пароля система включает защищённый ввод, и запись Doslovno в нём прекращается. Возможно, то же случится и в таком терминале. Включите пункт, посмотрите на результат, и всё станет ясно.
В Windows диктовка не работает в окнах, запущенных от имени администратора. Это защита самой системы. Если вы держите терминал открытым именно так, голос в нём недоступен, а в обычном окне редактора проблемы нет.
Где здесь Doslovno
Doslovno работает на macOS 15 и новее на чипе Apple и в Windows 10 и 11. Зажали клавишу (на Mac Fn, на Windows правый Control), сказали, отпустили, и текст встал туда, где стоял курсор, в любой программе с полем ввода. Знаки препинания и абзацы ставятся по смыслу, слова остаются вашими. Программа бесплатна, регистрация не нужна, скачать можно на главной странице.
Русская речь распознаётся на самом компьютере. Для этого приложение скачивает модель размером около 600 МБ в первые минуты после установки, а пока она скачивается, распознавание идёт на нашем сервере. Для рабочего кода это важно знать заранее. Если нужно, чтобы ничего не уходило наружу, включите переключатель «Только на этом Маке» (в Windows такой же) после того, как модель скачалась. Сборка для Windows без подписи, поэтому при первом запуске система может показать предупреждение SmartScreen. О приёмах диктовки читайте в статье как правильно диктовать текст.
Вопросы
Можно ли писать код голосом?
Обычная диктовка для кода не предназначена. Скобки, регистр в именах и точные символы голосом получаются неловко. Есть отдельные системы голосового программирования с командами, но это другой инструмент. Здесь речь об обычной диктовке для текста вокруг кода.
Что программисту удобно диктовать?
Комментарии, описания коммитов и пулл-реквестов, тикеты, README и другую документацию, ответы в рабочем чате и запросы к ИИ-ассистенту в редакторе.
Работает ли голосовой ввод в VS Code и Cursor?
Диктовка вставляет текст туда, где стоит курсор, поэтому в любом поле, куда можно вставить текст обычной вставкой, она должна сработать. Отдельно мы редакторы не проверяли, попробуйте на своей машине один раз и посмотрите.
Что делать с английскими названиями библиотек?
Распознавание может записать их кириллицей. Популярные названия Doslovno исправляет сам, редкие чинит словарь, который нужно пополнить один раз. Для любого слова латиница не обещана.
Можно ли диктовать команды в терминал?
Не стоит. Ошибка в одном символе меняет команду, а многострочный текст при вставке может выполниться по строкам. Диктуйте комментарии и описания, команды набирайте руками.