[Python, API, CAD/CAM] Создание удобного и наглядного keymap/hotkey для PyCharm или любой другой программы
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
ПредисловиеСовременные программы имеют богатый функционал. Беда в том, что на хорошее овладение этим богатым функционалом уходят килограммы времени. Некоторые приемы и лайфхаки могут здорово сократить эти самые затраты времени на изучение практически любой программы.Эта история началась с покорения CAD-системы 3D-моделирования NX от компании Siemens. Большая, навороченная, с множеством возможностей, модулей, команд, кнопок и менюшек программа, в которой на данный момент трудится добрая половина инженеров-конструкторов-авиастроителей Руси-матушки. Конечно, чтобы не шокировать обилием значков и команд, в программе есть так называемые "роли". Например в роли для начинающего показано ровно столько команд и менюшек, чтобы смоделировать что-нибудь квадратное/угловатое/простое. Потом, по мере прокачки навыков в этой программе, начинаешь открывать для себя новые кнопки, новые возможности и т.д. И для таких случаев, есть "роль" пожирнее и повкуснее. Однако, в этом вашем авиастроении детали настолько замученные и закрученные, что в конце концов начинает не хватать и "Расширенной роли с полными меню", и тут начинается... весь экран программы в кнопках и т.д. и т.п.
Со временем у каждого конструктора складывается характерный для него "стиль" работы в CAD-системе. Наиболее часто используемые кнопки вытаскиваются "поближе", редкие кнопки наоборот пропадают с "инструментальных панелей". И тут, к тебе подходит коллега, просит подойти к его компьютеру и чего-нибудь помочь с какой-нибудь там подсечкой на профиле. А там все команды в других местах, все по другому и не там где у тебя, в голове начинается дикий скрип.А потом подходит другой коллега и третий и пятый. И третий и пятый, и пятьдесят пятый раз в многочисленных выпадающих менюшках поиск нужной команды. ПАМАГИТИ.Hotkey или создание панацеиКритическая масса для создания серьезного решения этой проблемы была набрана быстро). Идея была в том, чтобы настроить горячие клавиши на 99% используемых в повседневной практике команд, и установить их вообще всем, и более никогда мучительно не вспоминать ГДЕ она, нужная кнопка. Идея в том, чтобы создать универсальный интерфейс, максимально удобный и для всех, но не задевающий "инструментальные панели".Пошли первые потуги. Стоит отдать должное, в CAD-системе NX почти на все команды есть иконки. Иконки показывают суть команды. Итак, первый этап это сбор иконок из программы. Если на какую-либо команду нет иконки, ничто не мешает воспользоваться готовыми например с сайта https://www.flaticon.com/. А если иконка есть, то на помощь приходят такие классные программы как: [url=https://getgreenshot.org/ ]скриншотер Greenshot[/url] для вырезания области экрана, и [url= https://www.gimp.org/]графический редактор GIMP[/url] для обрезания иконки уже "поточнее". Т.к. перепечатывание названий over9000 команд дело не самое бодрое и веселое, то крайне полезной может оказаться программа для распознавания текста с выделенной области экрана CaptureToText.Все opensourse.Далее создаем Word-файл, в нем табличку. В одной колонке будут названия команд, в другой иконки, в третьей перевод названия команд на великий и могучий для всяких там (как и автор) слабо понимающих энглиш лангуаге.Так уж сложилось, что все современные программы при невообразимо богатом функционале и пугающем количестве команд, в большинстве своем имеют весьма слабый набор горячих клавиш/hotkey. И даже те комбинации, которые идут "из коробки", доставляют мало удовольствия, потому что требуют обе руки, а иногда и ноги для нажатия. Это связано с тем, что используется идеология "первой буквы" команды. Например, Ctrl+P=Print(печать), Ctrl+O=Open(Открыть). Этот подход в создании горячих клавиш и эффективном взаимодействии с программой весьма и весьма и весьма ограничен количеством букв в алфавите. А количество возможных комбинаций для самой обычной клавиатуры оно же за 4 сотки переваливает.В CAD-приложениях 3D-моделирования так вообще, исключительно-желательно не отрывать правой руки от мышки/трекбола... особенно на чемпионатах по профмастерству в авиастроении. Т.е. для графических редакторов или программ 3D-моделирования ТРЕБУЕТСЯ, чтобы все бинды были так сказать на "левой свободной руке". Самые частые команды ближе всего к клавишам-модификаторам, те же команды что менее популярны- подальше. Собственно, почти готовый рецепт успеха.После того, как великий сбор названий команд и иконок окончен, можно приступить к самому интересному. А именно, можно приступить к перекомпоновке этих команд таким образом, чтобы было удобно до безобразия. Создаем еще один файл word. А в нем создаем могучую таблицу по образу и подобию. Системные сочетания клавиш никуда не денешь, хотя они по своему удобны.
Ну а дальше, начинаем перетаскивать из таблицы со всеми командами/иконками в таблицу нашей клавиатуры в соответствующие ячейки. Из первой таблицы убывает, вторая таблица заполняется. Перекомпоновываем команды согласно принципов удобства нажимания, удобства запоминания, смежности выполняемых действий, общности, в общем, создаем наглядную карту/keymap для программы. СОВЕТ: сразу проверяйте как нажимается та или иная комбинация, потому что есть зоны не самые удобные для нажатия одной рукой, например Ctrl+Alt+Shift+6 требует минимум длинных и гибких пальцев и владения слепым десятипальцевым кунг-фу набора текста).
На скриншоте показан вариант таблицы для PyCharm, т.е. без ряда с модификатором Shift, потому что Shift+буква=БОЛЬШАЯ БУКВА. Однако, такого ограничения нет в графических редакторах. В конце концов, получится первый экспериментальный вариант keymap, который будет много интереснее в обращении нежели огромной длины плохочитаемый список комбинаций. Человеческая голова хорошо запоминает местоположение и плохо списки. Поэтому распечатав keymap на листочке A4 и повесив рядом с монитором, за пару месяцев руки сами потянутся в поисках нужной комбинации. Я гарантирую это. В скриншоте ниже keymap/208 комбинаций на PyCharm. Наработки/исходники
После того как мегатаблица Менделеева с комбинациями готова, начинается самое скучное - забить все комбинации в программу. Потом конечно период озарений и перекомпоновки, допиливания, но это все будут мелкие улучшения.ИтогДля NX такой keymap на 160 комбинаций делал около двух недель и назвал BFR= BigFuc*ingRole, потому что по времени совпало с созданием некоей ракеты от некоей частной космокомпании). Долго потому что в первый раз, все вкривь и вкось, и вообще начал не оттуда, не в той программе, без нужного софта и не так, в общем, поиск он и есть поиск.Зато сейчас у многих конструкторов на ЭМЗ им. В.М. Мясищева такая штука есть и приносит удовольствие от использования каждый день. В скором времени надеюсь поделится с остальными авиаторами. Когда приходят молодые ребята, только только после университета где их "учили" компасу 3де/автосаду/сад системам там всяким, сразу учатся и осваивают NX "на комбинациях" и это оказалось очень даже удобно и продуктивно. Потому что запомнить 160 комбинаций много проще и быстрее, чем запомнить 160 путей по менюшкам до нужной команды (особенно когда подсказка перед глазами на а4 распечатанная висит). И если кому-то, что-то показать, то просто идешь за его рабочий комп и комбинациями хлоп хлоп. Единая универсальная система и всё тут. На PyCharm keymap на 208 комбинаций сделал за пару тройку вечеров. Осваиваю только.ЗаключениеКонечно, хотелось бы, чтобы спустя время, в любой сложной программе появилось окошко с такой вот мегатаблицей команд и иконок, и переназначение комбинаций осуществлялось простым перетаскиванием нужной иконки в нужную ячейку, а не как сейчас: "окно, а в нём список команд длиной с рулон туалетной бумаги". Вот это был бы EpicWin.
===========
Источник:
habr.com
===========
Похожие новости:
- [Мессенджеры, Python, Управление проектами, Офисы IT-компаний] Telegram-бот на Python для создания задач в MS Outlook и заметок в Evernote
- [MySQL, Python, Service Desk] Перенос данных из VisionFlow в ServiceNow
- [Python, HTML, Big Data, Визуализация данных, Веб-аналитика] Аналитика алкогольной продукции сети магазинов «Лента»
- [Nginx, Машинное обучение, DevOps, Микросервисы, Flask] Развертывание ML модели в Docker с использованием Flask (REST API) + масштабирование нагрузки через Nginx балансер
- [Python, Разработка робототехники, Разработка на Raspberry Pi, Робототехника] Сделать робота на raspberry pi, обновленный pi-tank. Часть 1. Железо
- [Python, GitHub, Flask] Делаем телеграм бота за 5 минут: быстрый старт с продвинутым шаблоном
- [Информационная безопасность, Криптография, Python, C++, ООП] Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть II — Обёртка PyKCS11
- [Анализ и проектирование систем, Работа с 3D-графикой, CAD/CAM] Средства моделирования крупных сборок: хорошие новости для производителей промышленного оборудования
- [Python, Голосовые интерфейсы] Голосовой ассистент Виталий (школьный проект)
- [Open source, Программирование, Геоинформационные сервисы, Визуализация данных, Научно-популярное] Google Earth Engine (GEE) как общедоступный каталог больших геоданных
Теги для поиска: #_python, #_api, #_cad/cam, #_keymap, #_hotkeys, #_kombinatsii_klavish (комбинации клавиш), #_gorjachie_klavishi (горячие клавиши), #_pycharm, #_nx, #_cad, #_python, #_cad/cam, #_python, #_api, #_cad/cam
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:50
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
ПредисловиеСовременные программы имеют богатый функционал. Беда в том, что на хорошее овладение этим богатым функционалом уходят килограммы времени. Некоторые приемы и лайфхаки могут здорово сократить эти самые затраты времени на изучение практически любой программы.Эта история началась с покорения CAD-системы 3D-моделирования NX от компании Siemens. Большая, навороченная, с множеством возможностей, модулей, команд, кнопок и менюшек программа, в которой на данный момент трудится добрая половина инженеров-конструкторов-авиастроителей Руси-матушки. Конечно, чтобы не шокировать обилием значков и команд, в программе есть так называемые "роли". Например в роли для начинающего показано ровно столько команд и менюшек, чтобы смоделировать что-нибудь квадратное/угловатое/простое. Потом, по мере прокачки навыков в этой программе, начинаешь открывать для себя новые кнопки, новые возможности и т.д. И для таких случаев, есть "роль" пожирнее и повкуснее. Однако, в этом вашем авиастроении детали настолько замученные и закрученные, что в конце концов начинает не хватать и "Расширенной роли с полными меню", и тут начинается... весь экран программы в кнопках и т.д. и т.п. Со временем у каждого конструктора складывается характерный для него "стиль" работы в CAD-системе. Наиболее часто используемые кнопки вытаскиваются "поближе", редкие кнопки наоборот пропадают с "инструментальных панелей". И тут, к тебе подходит коллега, просит подойти к его компьютеру и чего-нибудь помочь с какой-нибудь там подсечкой на профиле. А там все команды в других местах, все по другому и не там где у тебя, в голове начинается дикий скрип.А потом подходит другой коллега и третий и пятый. И третий и пятый, и пятьдесят пятый раз в многочисленных выпадающих менюшках поиск нужной команды. ПАМАГИТИ.Hotkey или создание панацеиКритическая масса для создания серьезного решения этой проблемы была набрана быстро). Идея была в том, чтобы настроить горячие клавиши на 99% используемых в повседневной практике команд, и установить их вообще всем, и более никогда мучительно не вспоминать ГДЕ она, нужная кнопка. Идея в том, чтобы создать универсальный интерфейс, максимально удобный и для всех, но не задевающий "инструментальные панели".Пошли первые потуги. Стоит отдать должное, в CAD-системе NX почти на все команды есть иконки. Иконки показывают суть команды. Итак, первый этап это сбор иконок из программы. Если на какую-либо команду нет иконки, ничто не мешает воспользоваться готовыми например с сайта https://www.flaticon.com/. А если иконка есть, то на помощь приходят такие классные программы как: [url=https://getgreenshot.org/ ]скриншотер Greenshot[/url] для вырезания области экрана, и [url= https://www.gimp.org/]графический редактор GIMP[/url] для обрезания иконки уже "поточнее". Т.к. перепечатывание названий over9000 команд дело не самое бодрое и веселое, то крайне полезной может оказаться программа для распознавания текста с выделенной области экрана CaptureToText.Все opensourse.Далее создаем Word-файл, в нем табличку. В одной колонке будут названия команд, в другой иконки, в третьей перевод названия команд на великий и могучий для всяких там (как и автор) слабо понимающих энглиш лангуаге.Так уж сложилось, что все современные программы при невообразимо богатом функционале и пугающем количестве команд, в большинстве своем имеют весьма слабый набор горячих клавиш/hotkey. И даже те комбинации, которые идут "из коробки", доставляют мало удовольствия, потому что требуют обе руки, а иногда и ноги для нажатия. Это связано с тем, что используется идеология "первой буквы" команды. Например, Ctrl+P=Print(печать), Ctrl+O=Open(Открыть). Этот подход в создании горячих клавиш и эффективном взаимодействии с программой весьма и весьма и весьма ограничен количеством букв в алфавите. А количество возможных комбинаций для самой обычной клавиатуры оно же за 4 сотки переваливает.В CAD-приложениях 3D-моделирования так вообще, исключительно-желательно не отрывать правой руки от мышки/трекбола... особенно на чемпионатах по профмастерству в авиастроении. Т.е. для графических редакторов или программ 3D-моделирования ТРЕБУЕТСЯ, чтобы все бинды были так сказать на "левой свободной руке". Самые частые команды ближе всего к клавишам-модификаторам, те же команды что менее популярны- подальше. Собственно, почти готовый рецепт успеха.После того, как великий сбор названий команд и иконок окончен, можно приступить к самому интересному. А именно, можно приступить к перекомпоновке этих команд таким образом, чтобы было удобно до безобразия. Создаем еще один файл word. А в нем создаем могучую таблицу по образу и подобию. Системные сочетания клавиш никуда не денешь, хотя они по своему удобны. Ну а дальше, начинаем перетаскивать из таблицы со всеми командами/иконками в таблицу нашей клавиатуры в соответствующие ячейки. Из первой таблицы убывает, вторая таблица заполняется. Перекомпоновываем команды согласно принципов удобства нажимания, удобства запоминания, смежности выполняемых действий, общности, в общем, создаем наглядную карту/keymap для программы. СОВЕТ: сразу проверяйте как нажимается та или иная комбинация, потому что есть зоны не самые удобные для нажатия одной рукой, например Ctrl+Alt+Shift+6 требует минимум длинных и гибких пальцев и владения слепым десятипальцевым кунг-фу набора текста). На скриншоте показан вариант таблицы для PyCharm, т.е. без ряда с модификатором Shift, потому что Shift+буква=БОЛЬШАЯ БУКВА. Однако, такого ограничения нет в графических редакторах. В конце концов, получится первый экспериментальный вариант keymap, который будет много интереснее в обращении нежели огромной длины плохочитаемый список комбинаций. Человеческая голова хорошо запоминает местоположение и плохо списки. Поэтому распечатав keymap на листочке A4 и повесив рядом с монитором, за пару месяцев руки сами потянутся в поисках нужной комбинации. Я гарантирую это. В скриншоте ниже keymap/208 комбинаций на PyCharm. Наработки/исходники После того как мегатаблица Менделеева с комбинациями готова, начинается самое скучное - забить все комбинации в программу. Потом конечно период озарений и перекомпоновки, допиливания, но это все будут мелкие улучшения.ИтогДля NX такой keymap на 160 комбинаций делал около двух недель и назвал BFR= BigFuc*ingRole, потому что по времени совпало с созданием некоей ракеты от некоей частной космокомпании). Долго потому что в первый раз, все вкривь и вкось, и вообще начал не оттуда, не в той программе, без нужного софта и не так, в общем, поиск он и есть поиск.Зато сейчас у многих конструкторов на ЭМЗ им. В.М. Мясищева такая штука есть и приносит удовольствие от использования каждый день. В скором времени надеюсь поделится с остальными авиаторами. Когда приходят молодые ребята, только только после университета где их "учили" компасу 3де/автосаду/сад системам там всяким, сразу учатся и осваивают NX "на комбинациях" и это оказалось очень даже удобно и продуктивно. Потому что запомнить 160 комбинаций много проще и быстрее, чем запомнить 160 путей по менюшкам до нужной команды (особенно когда подсказка перед глазами на а4 распечатанная висит). И если кому-то, что-то показать, то просто идешь за его рабочий комп и комбинациями хлоп хлоп. Единая универсальная система и всё тут. На PyCharm keymap на 208 комбинаций сделал за пару тройку вечеров. Осваиваю только.ЗаключениеКонечно, хотелось бы, чтобы спустя время, в любой сложной программе появилось окошко с такой вот мегатаблицей команд и иконок, и переназначение комбинаций осуществлялось простым перетаскиванием нужной иконки в нужную ячейку, а не как сейчас: "окно, а в нём список команд длиной с рулон туалетной бумаги". Вот это был бы EpicWin. =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:50
Часовой пояс: UTC + 5