Эксперимент, который я ставил на себе прошлым летом: час обычной работы над поливальником, запись экрана, и один счётчик — жесты к мыши, которые ничего не рисуют и не пишут, а просто переносят фокус: меню, панели, списки, кнопки. За час набежало 47 тяганий, и 31 из них обслуживал всего шесть повторяющихся операций. Мышь тут не враг, но каждый перехват руки — две секунды разрыва мысли; на вечер выходит минута-полторы чистого восстановления контекста, а на неделю — жалкий роман с трекболом.
Про ядро «правлю-заливаю» — Ctrl+R, Ctrl+U, Ctrl+Enter, монитор и плоттер — разговор уже был в уроке про горячие клавиши и фишки IDE 2. Здесь второй этаж: палитра команд, через которую среда запоминается не списком связок, а одним словом запроса, и мои пять связок, после которых мышь за вечер покидает руку три-четыре раза вместо полусотни.
Список того, что попал в подсчёт, смешон в своей банальности: открыть файл, переименовать функцию, увеличить шрифт, вызвать настройки, открыть монитор. Ни одной экзотики — и именно поэтому счёт дотянулся за час до полусотни: экзотические операции мышь не тянет, они разовые. Урок собран вокруг этой развилки: повторяющееся — в пальцы, редкое — в палитру, а между ними — сравнение с 1.8, где развилки нет вовсе.
Почему это про скорость головы, а не рук: связку надо помнить, пункт меню — находить глазами. Палитра сидит между: помнишь слово — получаешь действие с его связкой напротив. Две недели спустя после того, как я завёл палитру в привычку, она стала не нужна — слово вспоминалось, связка подставлялась пальцами сама. На этом весь механизм и держится.
Палитра зовётся двумя клавишами: Ctrl+Shift+P и F1 — это один и тот же список, близнецы под разными пальцами; ставьте на ту, что ближе к вашей руке, разницы нет. Сверху строка ввода: печатаешь пару букв — список сворачивается к совпадениям. Напротив каждого пункта его связка, если она есть: палитра честнее любой статьи, она показывает привязки вашей сборки, а не гипотетической.
Вторая работа палитры — навигатор по настройкам. Не помните, где сидят Interface Scale, верификация при сохранении или verbose-лог сборки? Ctrl+Shift+P, слово «prefs» — и окно Preferences перед вами, без блуждания по меню. Для редких галочек, которые трогаешь дважды в год, это единственный разумный способ: учить их путь по вкладкам — трата памяти, а не дисциплина.
Третья работа — витрина. Пролистать палитру целиком полезнее чужих шпаргалок: там видны команды, о которых меню молчит, и каждая с подписанной связкой. Я так нашёл переход к определению в первый месяц на 2.x: неделю кликал по пункту палитры, потом пальцы сами забрали F12. Ученикам рекомендую тот же приём: вечер с палитрой на просмотр стоит трёх статей и половины видеороликов.
Мой топ-5 и зачем он такой
Номер один — Ctrl+P, быстрое открытие файла по куску имени. На скетче из одной вкладки он безработный, но многовкладочные проекты меняют расклад: пять файлов, пара своих заголовков — и дерево папок уже не хочется листать. Печатаю «tem» — редактор показывает sketch_temperature.h, Enter — и я в нём. Механизм ровно студийный: наследство от Theia, родни VS Code, и это тот случай, когда наследство удачное.
Номер два — F2, переименование символа. Курсор на имя функции, F2, правите один раз — языковой сервер clangd раскатывает новую редакцию по всем вызовам во всех вкладках. Мой прежний способ был честнее, но медленнее: Ctrl+F, проверка каждого вхождения глазами, правка руками — на функции с восемью вызовами уходило больше минуты, и одна пропущенная правка собиралась потом как опечатка.
У F2 два ограничения, о которых рекламные списки молчат. Первое: он правит код, но не текст — комментарии и строковые константы со старым именем остаются, их добиваю Ctrl+F за полминуты. Второе: clangd после старта среды индексирует проект, и на скетче с библиотеками первые десятки секунд F2 молчит безо всяких сообщений — примечание ниже целиком про эту ловушку.
Номер три — зум: Ctrl+колесо мыши над кодом тянет размер текста редактора, то же делают Ctrl+= и Ctrl+-. Разделяйте две ручки: колесо и клавиши меняют код, каркас панелей — отдельная ползучка Interface Scale со ступенями до 200 процентов и перезапуском; механику и грабли масштаба разобрали в уроке про темы и шрифты. Мой случай — показ кода по видеосвязи: колесо на ходу, без визита в настройки и без строчки «вот это вы разглядите сами».
Номер четыре — Ctrl+Shift+M, монитор порта. Связка одна, а чувства разные: в 1.8 она поднимала отдельное окно, которое закрывали руками перед каждой заливкой — порт держит тот, кто первый открыл. В 2.x монитор — панель рядом с кодом: перед прошивкой среда прибирает её сама и возвращает после; владение портом считали в уроке про монитор 2.x. Пять заливок за вечер — пять раз, когда окно не надо таскать и гасить.
Номер пять — не связка, а её отсутствие: автосохранение. В 1.8 цикл был «правка — Ctrl+S — заливка», и забытый Ctrl+S значил, что на плату уехала старая редакция; я узнавал это по тому, что «исправленное» на плате не менялось. В 2.x среда сохраняет скетч перед проверкой и заливкой сама, поэтому честный пятый пункт топа звучит парадоксально: научиться не жать Ctrl+S перед сборкой. Рефлекс выбрасывал около месяца — вреда в нём ноль, только лишнее движение.
Таблица ниже — актуальный список целиком. За год он не менялся ни разу, и это главный признак отбора по делу, а не по статье: лишние связки вылетают из рук за неделю, нужные живут годами. Дальше — код для тренировки, ловушка F2 и способ собрать свой топ за один вечер.
| Связка | Что делает | Мой случай |
|---|---|---|
| Ctrl+Shift+P или F1 | палитра команд с поиском по буквам | разыскать редкий пункт и подсмотреть его связку |
| Ctrl+P | открыть файл по куску имени | проекты на 3-5 вкладок без дерева папок |
| F2 | переименовать символ по всем вызовам | смена имени функции в скетче на 300+ строк |
| Ctrl+колесо, Ctrl+= / Ctrl+- | зум текста редактора | показ кода ученику по видеосвязи |
| Ctrl+Shift+M | монитор порта панелью рядом с кодом | пульт и лог в одном окне, без ручного закрытия |
| Ctrl+Shift+P, запрос «prefs» | окно настроек напрямую | редкие галочки вроде verbose-лога сборки |
// Trenazhyor dlya F2 i Ctrl+P: funkcii s tvyordym imenem i tri vyzova.// Pomenyayte imya readBtn() cherez F2 - pravka razoydyotsya po vsem vyzovam.// Potom Ctrl+P, naberite "btn" - redaktor pokazhet etot fajl iz vseh vkladok. const int BTN = 2;const int LED = 12;int clicks = 0;unsigned long tLast = 0; // Schetchik faz knopki: tvyordoe imya, kotoroe budem menyat cherez F2.int readBtn() { int now = digitalRead(BTN) == LOW; int ok = now && millis() - tLast > 250; if (ok == 1) { tLast = millis(); } return ok;} void setup() { Serial.begin(9600); pinMode(BTN, INPUT_PULLUP); pinMode(LED, OUTPUT); Serial.println("zhmu knopku - kazhdyi faz schitaetsya");} void loop() { if (readBtn() == 1) { clicks = clicks + 1; Serial.print("klik "); Serial.println(clicks); if (clicks % 2 == 1) { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); } }}Методика сбора своего топа — один вечер с записью, без статей. Открываете обычный проект и час работаете как работаете, записывая каждое мышиное действие словом: «открыл вкладку», «переименовал», «вызвал настройки». Операции, повторившиеся больше двух раз, ищете в палитре и забираете их связки; всё найденное вписываете на стикер рядом с экраном. Через неделю стикер покажет правду: две-три связки вы уже жмёте на автомате, остальные сгорают без сожаления.
Для редких команд стикер не нужен: палитра и есть их памятка. Правило у меня простое: чаще двух раз в день — учить связку, реже — уметь найти словом. Из правила следует и приговор линейке 1.8: палитры там нет вовсе, а связок по пальцам одной руки — скорость без мыши в старой среде заканчивается на Ctrl+T и Ctrl+Shift+M; полный расклад того, что переезд даёт ежедневно, считали в уроке про 2.x против 1.8.
Последнее — о переносимости. Связки Ctrl+P, F2 и палитра живут не только в Arduino IDE: любой редактор этой семьи — VS Code, VSCodium, сборки на Theia — отзывается на те же слова и клавиши, привычка переезжает без потерь. Я почувствовал это, когда поставил PlatformIO на вторую машину: половина рук уже знала редактор до всякой настройки. Мышь за вечер теперь достаётся схемам и плоттеру — честный финал истории про сорок семь тяганий.
- 1. Что открывает F1 в IDE 2.x?
- 2. Что делает F2 в редакторе 2.x?
- 3. Ctrl+P в 2.x ищет что?
- 4. Как обстоят дела с палитрой команд в линейке 1.8?
- 5. Ctrl+колесо мыши над кодом масштабирует что?
- Ctrl+Shift+P и F1 открывают одну палитру команд; связка напротив пункта превращает её в тренажёр.
- Ctrl+P открывает файл по куску имени; F2 переименовывает символ по всем вкладкам, не трогая комментарии.
- Ctrl+колесо и Ctrl+= / Ctrl+- меняют размер кода; каркас панелей — отдельная ручка Interface Scale.
- Ctrl+Shift+M в 1.8 и 2.x зовёт монитор, но там — окно под ручным закрытием, здесь — панель, которую среда прибирает сама.
- Правило набора: чаще двух раз в день — учить связку, реже — находить слово в палитре.
Частые вопросы по теме урока
- Что открывает F1 в IDE 2.x?
- F1 и Ctrl+Shift+P — два имени одной палитры команд. Справки по функции она не даёт, настройки — Ctrl+Comma. тот же список команд, что Ctrl+Shift+P
- Что делает F2 в редакторе 2.x?
- F2 — переименование символа силами clangd; текст в комментариях и строках остаётся, его добивают Ctrl+F. переименовывает символ по всем вызовам, но не трогает комментарии
- Ctrl+P в 2.x ищет что?
- Ctrl+P — быстрое открытие файла по куску имени. Поиск по тексту — Ctrl+F и Ctrl+H, палитра — Ctrl+Shift+P. файл по куску имени
- Как обстоят дела с палитрой команд в линейке 1.8?
- Палитра пришла вместе с новой линейкой на Theia. В 1.8 путь к действию — меню или заученные связки. палитры нет вовсе — только меню и отдельные связки
- Ctrl+колесо мыши над кодом масштабирует что?
- Колесо и Ctrl+= / Ctrl+- тянут размер кода. Масштаб каркаса живёт в Interface Scale и применяется после перезапуска. текст редактора; каркас панелей — отдельная ручка Interface Scale