Skip to content

Put only the four main commands on the Notepad++ toolbar - #24

Merged
krotname merged 1 commit into
masterfrom
fix/obvious-bugs
Aug 16, 2026
Merged

Put only the four main commands on the Notepad++ toolbar#24
krotname merged 1 commit into
masterfrom
fix/obvious-bugs

Conversation

@krotname

Copy link
Copy Markdown
Owner

Closes #11.

Summary

  • registerToolbarIcons регистрировал кнопку для каждой из двадцати команд. Панель инструментов у Notepad++ общая для всех плагинов, поэтому после установки она оказывалась занята почти целиком — ровно то, на что жалуется issue Программа добавляет ооооооооочень много иконок в toolbar - это ужасно :( #11 («программа добавляет ооооооооочень много иконок в toolbar»), и то, чего нет на docs/demo.gif. Добавлен предикат commandHasToolbarButton, и цикл регистрации пропускает всё, кроме четырёх основных команд: выравнивание, автовыравнивание, подгонка ширины и автоподгонка.
  • Выбор именно этих четырёх — не мой: docs/buttons-tech-spec.ru.md (строка 5) называет кнопками на панели инструментов ровно их, в этом же порядке. Остальные шестнадцать команд никуда не делись — они по-прежнему в меню плагина и на своих горячих клавишах (Ctrl+Alt+Shift+…), их пункты меню и значки не изменились.
  • Создание значков (ensureCommandToolbarIconHandles) намеренно не тронуто: оно относится и к меню, и покрыто отдельными тестами.

Not changed (needs a decision)

  • Автор issue предлагает ещё компактнее — одну кнопку с выпадающим меню. Notepad++ такого API плагинам не даёт (NPPM_ADDTOOLBARICON регистрирует одиночную кнопку), выпадающий список пришлось бы рисовать самим. Четыре кнопки — то, что зафиксировано в техзадании; полный отказ от панели или самодельное меню — отдельное решение владельца.
  • Набор кнопок не настраивается. Можно было бы вынести его в конфигурацию плагина (как autoAlign/autoFit), но это новая функциональность, а не исправление.
  • Прочие находки по репозиторию (автоформат на SC_PERFORMED_UNDO/REDO, потеря выравнивания при сжатии разделителя до трёх символов, непроверенный GetWindowRect) в этот PR не входят — они требуют отдельного разбора и своих тестов.

Test plan

  • msbuild Package.proj /t:RunPluginShortcutSmokeTestsPlugin shortcut tests passed (локально, VS 2022 BuildTools).
  • msbuild vs.proj\MarkdownTableEditor.vcxproj /p:configuration=Release /p:platform=x64 — сборка чистая, post-build тесты прошли.
  • msbuild Package.proj /t:Coverage /p:Configuration=Debug /p:Platform=x64 — Scenario 85 checks, Golden fixture 110 checks, Core smoke — все зелёные; покрытие ядра 93,66 % при пороге 70 %.
  • Новая проверка в tests/PluginShortcutTests.cpp перебирает все двадцать команд и требует кнопку ровно у первых четырёх; до правки она падала бы на шестнадцати остальных.

🤖 Generated with Claude Code

Плагин регистрировал кнопку для каждой из двадцати команд и занимал собой всю
общую панель инструментов Notepad++ (issue #11). Техзадание docs/buttons-tech-spec.ru.md
и так называет кнопками только четыре основные команды; остальные остаются в меню
плагина и на горячих клавишах.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@krotname
krotname merged commit ebb6b07 into master Aug 16, 2026
19 checks passed
@krotname
krotname deleted the fix/obvious-bugs branch August 16, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Программа добавляет ооооооооочень много иконок в toolbar - это ужасно :(

1 participant