Статьи

Игра с файлами слоев XML NetBeans (часть 1)

Я вернулся с еще одним классным трюком и советами, которые нужно запомнить. Позвольте мне поделиться с вами еще одним трюком, которым я пользуюсь уже несколько недель, и это действительно здорово! Он основан на платформе NetBeans , в частности, на файле уровня XML, который является необязательным файлом конфигурации плагина. Это мой первый полноценный пост на платформе NetBeans, так как я занимаюсь этим почти ежедневно в течение недели, для некоторых интересных разработок плагинов.

 

Предпосылки

Этот трюк использует существующий учебник , который является основой, на которой я выполнил трюк. Кроме того, вы должны прочитать это руководство, если у вас нет опыта работы с платформой NetBeans.

описание проблемы

Как уже упоминалось в руководстве, я создал тип действия ( CallableSystemAction ), сделал его глобальным элементом меню и кнопкой на панели инструментов. Я назвал тип действия (файл Java) как SayCheez и отобразил имя как Say Cheez…

Теперь я сделал это действие, как и ожидалось в учебнике. Теперь, щелкните правой кнопкой мыши проект и нажмите на Install / Reload в целевой платформе в (контекстное меню) контекстно-зависимая меню. Его успешно работает!

Теперь позвольте мне показать вам структуру XML Layer (layer.xml), похожую на ту, которая показана в руководстве, т.е. как она регистрирует действие в IDE NetBeans.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="Actions">
<folder name="Tools">
<file name="org-nvarun-tat-SayCheez.instance"/>
</folder>
</folder>
<folder name="Menu">
<folder name="Tools">
<file name="org-nvarun-tat-SayCheez.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
<attr name="position" intvalue="150"/>
</file>
<file name="org-nvarun-tat-separatorAfter.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="175"/>
</file>
<file name="org-nvarun-tat-separatorBefore.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="125"/>
</file>
</folder>
</folder>
<folder name="Toolbars">
<folder name="Build">
<file name="org-nvarun-tat-SayCheez.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
<attr name="position" intvalue="325"/>
</file>
</folder>
</folder>
</filesystem>

Итак, хитрость в том, как манипулировать XML-уровнем и не тратить время, размещая действия где-либо еще в IDE, создавая их заново.

Решение

Обратите внимание, что все следующие приемы будут работать только для CallableSystemAction , я не проверял CookieAction , хотя он должен работать и для CookieAction , если вы работаете только с MenuItem, кнопкой панели инструментов или сочетаниями клавиш ! Для редактора и контекста типа файла MenuItem , был бы другой путь, я посмотрю, будет ли с ним удобно играть;)

По вычету кода

Трюк № 1 — Если вы хотите удалить один из разделителей, ИЛИ даже оба из них, то посмотрите следующий код, приведенный в нем код, удаляющий его из уровня XML, в соответствии с вашими потребностями.

            <file name="org-nvarun-tat-separatorAfter.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="175"/>
</file>
<file name="org-nvarun-tat-separatorBefore.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="125"/>
</file>

Трюк № 2 — Если вы хотите удалить действие с панели инструментов, то удалите следующий код;

    <folder name="Toolbars">
<folder name="Build">
<file name="org-nvarun-tat-SayCheez.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
<attr name="position" intvalue="325"/>
</file>
</folder>
</folder>

Трюк № 3 — Если вы хотите удалить действие из меню инструментов и сохранить его только на панели инструментов, удалите следующий код;

    <folder name="Menu">
<folder name="Tools">
<file name="org-nvarun-tat-SayCheez.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
<attr name="position" intvalue="150"/>
</file>
<file name="org-nvarun-tat-separatorAfter.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="175"/>
</file>
<file name="org-nvarun-tat-separatorBefore.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="125"/>
</file>
</folder>
</folder>

По замене кода

Трюк № 4 — Если вы хотите создать комбинацию клавиш для этого действия, добавьте следующий код:

    <folder name="Shortcuts">
<file name="O-F3.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
</file>
</folder>

Трюк № 5 — Иногда может случиться, что ваше действие не подходит ни для какого существующего меню , и вы хотите создать свое собственное меню . К тому времени, когда вы подготовитесь к своему меню , у вас могут быть только эти сочетания клавиш , то есть ни пункт меню , ни кнопка на панели инструментов .

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="Actions">
<folder name="Tools">
<file name="org-nvarun-tat-SayCheez.instance"/>
</folder>
</folder>
<!--folder name="Menu">
<folder name="Tools">
<file name="org-nvarun-tat-SayCheez.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
<attr name="position" intvalue="150"/>
</file>
</folder>
</folder-->
<folder name="Shortcuts">
<file name="O-F3.shadow">
<attr name="originalFile" stringvalue="Actions/Tools/org-nvarun-tat-SayCheez.instance"/>
</file>
</folder>
</filesystem>

Советы для запоминания

Этот код имеет комбинацию клавиш «Alt + F3», которая представлена ​​как «O-F3.shadow», так что это означает, что если у вас есть какая-то комбинация клавиш, которая использует «Alt» , то используйте «O» , и для каждого Знак «+», использующий «-» , наконец, объединяется с только что сформированной комбинацией с «.shadow» ! Если вы используете «Ctrl» , то «D», а «Shift»«S» !

Ниже приведены некоторые ключевые эквиваленты, используемые в XML Layer;

  1. От A до Z (как есть), от F1 до F12 (как есть), от 0 до 9 (как есть)
  2. / как SLASH, \ как BACK_SLASH
  3. ; как SEMI_COLON
  4. , как ПЕРИОД
  5. как цитата

Это были некоторые из часто используемых клавиш в комбинации клавиш. Если вы хотите узнать больше, вы можете оставить комментарий здесь. Я был бы рад помочь вам! На самом деле, я разрабатывал модуль в течение прошлой недели, и более интенсивно в выходные дни, и наблюдал это методом проб и ошибок , и думал о том, чтобы поделиться этим трюком с вами, людьми. В любом случае, спасибо за подписку, наслаждайтесь и получайте удовольствие! Чтобы узнать больше о сюрпризе, следите за моим блогом!

Ссылки

[1] Еще советы и хитрости !
[2] Повторно из этой записи в блоге !
[3] Вы можете подписаться на все советы и рекомендации моего блога !