// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Реорганизация при проверке и пребразовании в редакторе Java IDE NetBeans
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Реорганизация при проверке и пребразовании в редакторе Java IDE NetBeans - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Реорганизация при проверке и пребразовании в редакторе Java IDE NetBeans

Редактор Java среды IDE NetBeans оснащен новой функцией проверки и преобразования, которая представляет собой средство реорганизации для одновременного выполнения нескольких проверок и преобразований с выбранной группой файлов. Эта функция также позволяет пользователям определять пользовательскую проверку.

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



image::images/netbeans-stamp.png[title="Содержимое на этой странице применимо к IDE NetBeans 8.0"]



== Требования

*Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:http://netbeans.org/downloads/index.html[+IDE NetBeans+] |Версия 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработки приложений на языке Java+] (JDK) |Версия 7 или 8 
|===


== Установка среды учебного курса

Помимо обязательного ПО, перечисленного выше, пользователю требуется файл link:https://netbeans.org/projects/samples/downloads/download/Samples/Java/inspecttransform.zip[+InspectTransform.zip+], разархивированный в папку проекта NetBeans и открытый в IDE NetBeans следующим образом:

image::images/proj.png[]


== Выполнение проверок

Параметр "Одиночная проверка" в диалоговом окне "Проверка и преобразование" (Реорганизация кода > Проверка и преобразование) предоставляет широкий набор различных проверок, связанных с конкретными преобразованиями при реорганизации кода. Полный список таких операций отобразится в диалоговом окне "Управление проверками" после нажатия кнопки "Обзор" справа от параметра "Одиночная проверка".

[.feature]
--
image::images/manage-inspections-small.png[role="left", link="images/manage-inspections.png"]
--

Можно также проверить наличие необходимой проверки, введя ключевое слово в поле поиска. Например, при поиске по ключевому слову  ``operator``  выводится несколько проверок.

[.feature]
--
image::images/search-small.png[role="left", link="images/search.png"]
--

Каждая проверка предоставляется с доступным описанием в поле 'Описание' в диалоговом окне 'Управление проверкой'.

*Чтобы запустить проверку и применить существующую проверку, выполните следующие действия.*

1. В окне 'Проекты' выберите файл  ``InspectTransform.java`` .
2. Выберите Реорганизация кода > Проверка и преобразование в меню IDE.
3. В диалоговом окне "Проверка и преобразование" выберите параметр "Отдельная проверка", затем выберите элемент 'Обзор'.
4. В диалоговом окне "Управление проверками" выберите проверку  ``'Присваивание, допускающее замену операцией присваивания``  на узле 'Ошибки назначения'.
5. Нажмите кнопку OK, чтобы закрыть диалоговое окно 'Управление проверками'.
6. Нажмите кнопку 'Проверка' в диалоговом окне 'Проверка и преобразование'.
На панели предварительного просмотра отобразятся предлагаемые изменения реорганизации кода.

[.feature]
--
image::images/single-inspection-small.png[role="left", link="images/single-inspection.png"]
--

7. Нажмите кнопку "Реорганизовать код", чтобы применить изменения, если это необходимо.

<<top,В начало>>


== Использование настроек

Набор сгруппированных реорганизаций кода представляет собой настройку, которую можно выполнить для соответствующих объектов, например, для класса или нескольких классов, пакетов или проектов. Среда IDE предоставляет следующие две предопределенные настройки:

* <<migrate5,Перенос в JDK 5>>
* <<convert,Перенос в JDK 7>>
* <<migrate8,Перенос в JDK 8>>
* <<organize,Упорядочение операторов импорта>>


=== Перенос в JDK 5

Настройка  ``Перенос в JDK 5`` , доступная в среде IDE по умолчанию, включает в себя такие операции по реорганизации кода, как статический импорт, использование цикла со счетчиком JDK 5, необязательная упаковка и распаковка, а также применение оператора switch для перехода по переменным String.

[.feature]
--
image::images/jdk5-conf-small.png[role="left", link="images/jdk5-conf.png"]
--

*Примечание.* Список реорганизаций кода в настройке можно изменить в списке "Проверки" диалогового окна "Управление проверками", выбирая и отменяя выбор элементов в узле ``Поддержка переноса JDK`` .


=== Перенос в JDK 7

Настройка  ``Перенос в JDK 7`` , доступная в среде IDE по умолчанию, включает в себя такие операции по реорганизации кода, как использование оператора diamond, преобразование в оператор try-with-resources, использование оператора multicatch, применение оператора switch для перехода по переменным String и т. д.

[.feature]
--
image::images/jdk7-conf-small.png[role="left", link="images/jdk7-conf.png"]
--

*Примечание.* Список реорганизаций кода в настройке можно изменить в списке "Проверки" диалогового окна "Управление проверками", выбирая и отменяя выбор элементов в узле ``Поддержка переноса JDK`` .

*Чтобы выполнить и применить настройку по умолчанию  ``Перенос в JDK 7`` , выполните следующие действия.*

1. В окне 'Проекты' выберите файл  ``PredefinedSet.java`` .
2. Выберите Реорганизация кода > Проверка и преобразование в меню IDE.
3. В диалоговом окне "Проверка и преобразование" выберите пункт "Настройка", затем выберите набор проверок  ``Перенос в JDK 7``  в раскрывающемся списке.
4. Нажмите кнопку "Проверить".
Изменения, приводящие к преобразованию кода в синтаксис JDK 7, отобразятся на панели предварительного просмотра.

[.feature]
--
image::images/jdk7-ref-small.png[role="left", link="images/jdk7-ref.png"]
--

5. Нажмите кнопку "Реорганизовать код", чтобы применить изменения, если это необходимо.


=== Перенос в JDK 8

Настройка  ``Перенос в JDK 8`` , доступная в среде IDE по умолчанию, включает в себя такие операции по реорганизации кода, как преобразование лямбда или объектной ссылки, статический импорт, использование оператора multicatch, применение оператора switch для перехода по переменным String и т. д.

[.feature]
--
image::images/jdk8-conf-small.png[role="left", link="images/jdk8-conf.png"]
--

*Примечание.* Список реорганизаций кода в настройке можно изменить в списке "Проверки" диалогового окна "Управление проверками", выбирая и отменяя выбор элементов в узле ``Поддержка переноса JDK`` .


=== Упорядочение операторов импорта

Настройка  ``Упорядочение операторов импорта``  позволяет проверить способ упорядочения операторов импорта в коде и реорганизовать код при необходимости. По умолчанию она включает в себя одиночную проверку на соответствие операторов импорта заданным правилам стиля кода.

*Примечание.* Настройка правил стиля кода для операторов импорта

1. Выберите "Сервис" > "Параметры" > "Редактор" > "Форматирование" на главной панели инструментов среды IDE.
2. В раскрывающемся списке "Язык" выберите "Java".
3. В раскрывающемся списке "Категория" выберите "Операторы импорта".
4. Укажите необходимые параметры.

[.feature]
--
image::images/org-imports-small.png[role="left", link="images/org-imports.png"]
--

5. Нажмите кнопку "ОК", чтобы сохранить изменения.

*Чтобы запустить и применить настройку по умолчанию ``Упорядочение операторов импорта`` , выполните следующие действия.*

1. В окне 'Проекты' выберите файл  ``Imports.java`` .
2. Выберите Реорганизация кода > Проверка и преобразование в меню IDE.
3. В диалоговом окне "Проверка и преобразование" выберите параметр "Настройка", затем выберите элемент  ``Упорядочение операторов импорта`` .
4. Нажмите кнопку "Проверить".
На панели предварительного просмотра отобразятся одно вхождение для раздела "Импорт" файла  ``Imports.java`` , предлагаемые для его согласования с указанными правилами стиля кода.

[.feature]
--
image::images/imports-ref-small.png[role="left", link="images/imports-ref.png"]
--

5. Нажмите кнопку "Реорганизовать код", чтобы применить изменения, если это необходимо.

<<top,В начало>>


== Управление пользовательскими проверками

Можно создать пользовательскую проверку, чтобы указать среде IDE, какие структуры кода следует искать и как их следует преобразовать.

*Примечание.* Чтобы избежать повторяющейся проверки в IDE, выберите 'Реорганизация' > 'Проверка и преобразование' в главном меню, либо выберите 'Управление' или 'Обзор' и в диалоговом окне 'Управление проверками' используйте поле 'Поиск' для поиска необходимой проверки до создания новой проверки.

*Чтобы создать пользовательскую проверку, выполните следующие действия.*

1. Выберите Реорганизация кода > Проверка и преобразование в меню IDE.
2. В диалоговом окне "Проверка и преобразование" нажмите кнопку "Управление" или "Обзор".
3. В диалоговом окне "Управление проверками" нажмите кнопку "Создать".
В списке "Проверки" будет создан узел  ``Пользовательская проверка`` .

[.feature]
--
image::images/custom-hint-small.png[role="left", link="images/custom-hint.png"]
--

4. (Дополнительно) Правой кнопкой мыши щелкните  ``Проверка`` , выберите "Переименовать" в раскрывающемся меню, укажите имя пользовательской проверки (например,  ``MyCustomInspection`` ), затем нажмите ENTER.
5. Нажмите кнопку "Правка сценария". Отобразится текстовое поле со сценарием.

[.feature]
--
image::images/script-small.png[role="left", link="images/script.png"]
--

6. Введите описание проверки и код в текстовую область сценария или нажмите кнопку "Открыть" в редакторе и укажите те же данные в файле  ``MyCustomInspection.hint`` .

[.feature]
--
image::images/hint-file-small.png[role="left", link="images/hint-file.png"]
--

7. Чтобы сохранить изменения, нажмите кнопку "Сохранить" под текстовым полем со сценарием или нажмите сочетание клавиш CTRL+S в редакторе.
8. Нажмите кнопку "ОК", чтобы закрыть диалоговое окно "Управление проверками" или закройте файл  ``MyCustomInspection.hint``  в редакторе.
Пользовательская проверка создана и может быть применена.

*Чтобы запустить созданную пользовательскую проверку, выполните следующие действия.*

1. Выберите Реорганизация кода > Проверка и преобразование в меню IDE.
2. В списке проверок диалогового окна "Проверка и преобразование" укажите файл, пакет или проект(-ы), которые требуется проверить. Либо же нажмите кнопку справа, чтобы открыть диалоговое окно "Пользовательская область", и укажите пользовательский код, который требуется проверить.
3. Выберите параметр "Одиночная проверка", затем выберите проверку  ``MyCustomInspection`` .

[.feature]
--
image::images/mycustomhint-small.png[role="left", link="images/mycustomhint.png"]
--

4. Нажмите кнопку "Проверить".
Предлагаемые изменения реорганизации отобразятся на панели предварительного просмотра.
5. Нажмите кнопку "Реорганизовать код", чтобы применить изменения, если это необходимо.

<<top,В начало>>


== Заключение

В этом учебном курсе рассматриваются наиболее распространенные способы использования функции "Проверка и преобразования" Обратите внимание, что с помощью функции "Проверка и преобразование" можно также выполнять пользовательскую реорганизацию в контексте проекта или применять специальные настройки реорганизации кода к нескольким проектам, открытым в среде IDE и т. п.

<<top,В начало>>

link:/about/contact_form.html?to=3&subject=Feedback:%20Refactoring%20with%20Inspect%20and%20Transform%20in%20the%20NetBeans%20IDE%20Java%20Editor[+Отправить отзыв по этому учебному курсу+]



== Дополнительные сведения

Связанные материалы можно найти в следующих документах:

* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG613[+Использование подсказок при анализе и рефакторинге исходного кода+] в разделе _Разработка приложений с помощью NetBeans IDE_
* link:http://wiki.netbeans.org/Java_Hints[+Полный список подсказок Java NetBeans+]
* link:http://wiki.netbeans.org/JavaDeclarativeHintsDescriptionSketch[+Описание декларативных подсказок Java NetBeans+]
* link:code-inspect.html[+Статический анализ кода в редакторе Java IDE NetBeans +]
* link:http://wiki.netbeans.org/Refactoring[+Упрощение реорганизации+]
* link:http://platform.netbeans.org/tutorials/nbm-java-hint.html[+Учебный курс по модулям подсказок Java NetBeans+]

<<top,В начало>>

