Программа для редактирования файлов классов

Обновлено: 29.06.2024

Visual Studio Code — это прежде всего редактор исходного кода с широкими возможностями редактирования. В этом документе мы рассмотрим несколько специфичных для Java функций, полезных при работе с Java.

Если у вас возникнут проблемы при использовании перечисленных ниже функций, вы можете связаться с нами, указав проблему.

Навигация по коду

С помощью представления «Структура» вы можете удобно перемещаться по элементам в текущем файле. Представление проекта также обеспечивает отличный обзор вашего проекта. В качестве редактора Java он также поддерживает иерархию вызовов, иерархию типов, навигацию по определениям, типы поиска в рабочей области и т. д.

Поиск символов

Вы можете искать символы в текущем файле или рабочей области, чтобы быстрее перемещаться по коду.

Поиск символов в рабочей области

Поиск символов в текущем файле

Чтобы найти символ в текущем файле, используйте Быстрое открытие ( ⌘P (Windows, Linux Ctrl+P) ), затем введите команду '@', затем введите имя искомого символа. Появится список потенциальных совпадений, который будет отфильтрован по мере ввода. Выберите из списка совпадений, чтобы перейти к его расположению.

Просмотр определения

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

Чтобы просмотреть определение символа, поместите курсор на символ в любом месте, где он используется в исходном коде, а затем нажмите ⌥F12 (Windows Alt+F12 , Linux Ctrl+Shift+F10 ) . Кроме того, вы можете выбрать «Просмотр определения» в контекстном меню (щелкните правой кнопкой мыши и выберите «Просмотр определения»).

Перейти к определению

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

Чтобы перейти к определению символа, поместите курсор на символ в любом месте, где он используется в исходном коде, а затем нажмите F12 . Кроме того, вы можете выбрать «Перейти к определению» из контекстного меню (щелкните правой кнопкой мыши, затем выберите «Перейти к определению»). Если имеется только одно определение символа, вы перейдете непосредственно к его местоположению, в противном случае конкурирующие определения отображаются в окне просмотра, как описано в предыдущем разделе, и вам нужно выбрать определение, к которому вы хотите перейти.

Перейти к суперреализации

Вы можете отслеживать реализации классов и методы переопределения, щелкнув ссылку Перейти к суперреализации при наведении указателя мыши.

Spring Navigation< бр />

Иерархия вызовов

В представлении "Иерархия вызовов" отображаются все вызовы от функции или к ней, а также вы можете детализировать вызывающие абоненты и вызовы вызовов. Щелкните правой кнопкой мыши функцию и выберите Просмотр > Просмотр иерархии вызовов.

Просмотр иерархии вызовов

Вы также можете щелкнуть правой кнопкой мыши тело функции и выбрать "Показать иерархию вызовов".

Иерархия типов

Представление иерархии типов показывает отношения наследования между объектами Java. Вы можете щелкнуть правой кнопкой мыши тип и выбрать Показать иерархию типов.

Области сворачивания

Области сворачивания позволяют сворачивать или разворачивать фрагмент кода для лучшего просмотра исходного кода.

Умный выбор

С помощью интеллектуального выбора (семантического выбора) вы можете расширить или сузить диапазон выбора на основе семантической информации о позиции курсора в исходном коде.

  • Чтобы расширить выделение, используйте ⌃⇧⌘→ (Windows, Linux Shift+Alt+Right ).
  • Чтобы уменьшить выделение, используйте ⌃⇧⌘ ← (Windows, Linux Shift+Alt+Left ) .

Семантическое выделение

Подсветка синтаксиса – важная функция, которая позволяет более эффективно читать код. С помощью семантического выделения VS Code может обеспечить более точное выделение цветом исходного кода на основе информации о символах из языковой службы Java.

Ниже приведен только один пример: слева показано поведение после включения семантической подсветки, а справа — только с подсветкой синтаксиса.

Semantic Highlighting< бр />

Подробнее о подсветке семантики Java можно узнать на вики-сайте расширения поддержки языка Java.

Навигация по коду с помощью Spring Boot

Расширение Spring Boot Tools обеспечивает улучшенную навигацию и поддержку завершения кода для проектов Spring Boot.

  • @/ показывает все определенные сопоставления запросов (сопоставленный путь, метод запроса, исходное местоположение)
  • @+ показывает все определенные bean-компоненты (имя bean-компонента, тип bean-компонента, исходное расположение)
  • @> показывает все функции (реализация прототипа)
  • @ показывает все аннотации Spring в коде

Spring Navigation< бр />

Чтобы узнать больше о поддержке Spring Boot в Visual Studio Code, прочитайте Spring Boot в Visual Studio Code.

Редактирование кода

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

Поддержка Java в Visual Studio Code автоматически обнаруживает проблемы в вашем коде и предоставляет вам рекомендации по быстрому исправлению.

Подробнее о рефакторинге и действиях с кодом см. в разделе Рефакторинг и действия с исходным кодом.

IntelliSense

Автозавершение кода в Visual Studio Code for Java обеспечивается языковой поддержкой для Java™ от Red Hat. Расширение основано на тех же инструментах разработки Java (JDT), что и Eclipse, поэтому вы можете рассчитывать на такой же уровень поддержки.

Кроме того, существует технология IntelliSense с искусственным интеллектом, которая называется IntelliCode. Это экономит ваше время, помещая то, что вы, скорее всего, будете использовать, в начало списка завершения. Рекомендации IntelliCode основаны на тысячах проектов с открытым исходным кодом на GitHub, каждый из которых имеет более 100 звезд, поэтому он обучен наиболее распространенным применениям из высококачественных проектов. В сочетании с контекстом вашего кода список завершения адаптирован для продвижения этих практик. Вот IntelliCode для Java в действии.

IntelliCode хорошо работает с популярными библиотеками и платформами Java, такими как Java SE и Spring. Это поможет вам независимо от того, создаете ли вы монолитные веб-приложения или современные микросервисы.

Создать новый файл

VS Code поддерживает применение шаблонов при создании исходного файла Java. Когда вы создаете файл .java в проводнике, языковой сервер автоматически генерирует тело класса и заполняет для вас информацию о пакете:

Фрагменты кода

Visual Studio Code поддерживает широкий спектр популярных фрагментов кода Java, чтобы повысить вашу продуктивность, например class/interface, syserr, sysout, if/else, try/catch, статический метод main. Используя информацию с языкового сервера Java, он также обеспечивает предварительный просмотр фрагмента кода во время выбора.

Интегрированные среды разработки Java предъявляют высокие требования к компьютерному оборудованию. Эти требования не всегда выполняются в школах. Если учащиеся будут работать дома с этими системами разработки, речь пойдет только о свободно доступных системах. Практически не осталось систем, которые действительно можно было бы использовать для обучения. По этой причине я разработал Java-редактор, который описан ниже.

На скриншоте вы видите основные окна Java-редактора со строкой меню, панелями инструментов и некоторыми регистрами помощи для разработки программы. Оборудование ориентировано на нужды школы. Следовательно, существует программа регистрации, например, из которой вы можете выбирать шаблоны для консольных или графических приложений и апплетов, а также структуры управления регистрами с легким доступом к структурам управления Java.


Моделирование классов

С помощью средства моделирования классов вы можете создавать новые классы и редактировать существующие. Он читает исходные файлы Java и отображает их как классы с атрибутами и методами. Изменения в моделировщике классов переносятся соответственно в исходные файлы java. Средство моделирования классов — это простой в использовании инструмент для моделирования классов.


Порядок атрибутов и методов в дереве структуры можно изменить путем перетаскивания.


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

Окно UML

После моделирования класса с помощью конструктора классов пришло время протестировать вашу модель. В окне uml можно, открыв правой кнопкой мыши контекстное меню класса, вызвать конструктор для интерактивного создания объекта.

При последующем вызове контекстного меню созданного объекта можно редактировать атрибуты и вызывать методы объекта.

Интерактивное создание объектов ориентировано на соответствующую функциональность BlueJ. Метод main не требуется, смоделированные классы можно тестировать в интерактивном режиме.


Дизайнер графического интерфейса пользователя

После тестирования вашей модели в окне uml вы можете использовать ее в консоли или программе с графическим интерфейсом.

Создавать графические пользовательские интерфейсы довольно сложно, если вы используете менеджеры компоновки. Ученикам это очень не нравится, потому что гораздо проще перетаскивать gui-компоненты в нужное место на форме. Таким образом, gui-дизайнер Java-редактора использует абсолютное позиционирование, с помощью которого вы можете довольно быстро разработать макет.


Для создания графической формы щелкните в регистре программы один из шести символов: Frame, Dialog, Applet, JFrame, JDialog или JApplet.


С помощью символа окна исходного кода вы открываете и настраиваете форму графического интерфейса.

Графическая форма имеет контекстное меню для редактирования компонентов.

В других средах разработки структура графического пользовательского интерфейса представлена ​​в виде дерева. Редактор Java сохраняет необходимое дополнительное окно и показывает структуру в исходном коде с помощью соответствующих отступов соответствующих переменных.

Редактор структурограмм

Начиная с версии 12.0 в Java-Editor есть редактор структурограмм, с помощью которого можно создавать и редактировать структурограммы.

Моделирование потока управления с помощью структурограмм на уровне, не зависящем от языка программирования, играет важную роль в курсах по информатике. Ручное зарисовывание структурограмм на бумаге не дает презентабельных результатов. С помощью редактора структурограмм вы можете легко, быстро и правильно создавать структурограммы.


С помощью перетаскивания вы вставляете элементы структурограммы в существующую структурограмму или вытягиваете их из структурограммы. С левой панели инструментов вы можете вытягивать элементы структурограммы в окно. Удалите элементы структурограммы, потянув их обратно на панель инструментов. Нажмите на пустой элемент структурограммы, чтобы ввести нужный текст. Дважды щелкните, чтобы изменить текст структурограммы.

Зеленая буква J создает, насколько это возможно, Java-программу или метод из структурограммы. В конфигурации вы можете редактировать используемые тексты.

Режим головоломки

Режим головоломки позволяет создавать интерактивные головоломки-структурограммы, в которых учащиеся создают полную структурограмму из кусочков головоломки. Чтобы создать головоломку со структурограммой, начните с решения, которое должно состоять из одного алгоритма-структурограммы. Для этого в контекстном меню структурограммы вызовите режим головоломки.

Извлеките элементы структурограммы из полной структурограммы, оставив исходное место пустым заполнителем.


Элементы головоломки сохраняют исходную форму по ширине и высоте. При сборке кусочки головоломки подходят только в том случае, если они имеют правильный размер. Сохраните головоломку структурограммы в этой версии. Затем появятся еще три головоломки, разделенные на легкие, средние, сложные и очень сложные. Вы все еще можете переработать их.

В среднем режиме высота кусочков пазла уменьшена до стандартной высоты.


Вы можете вставлять кусочки головоломки в пустые элементы структурограммы или помещать их между существующими элементами структурограммы. Это уже не высота, а только ширина. Только если это соответствует точке вставки, туда можно вставить часть головоломки. Можно увеличить сложность, удалив некоторые элементы структурограммы из последовательностей пустых элементов структурограммы.

В жестком режиме помимо высоты к стандартному размеру уменьшается и ширина элементов структурограммы.


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


Учащиеся могут выбрать подходящий вариант головоломки в классе. Если они создали решение, они могут самостоятельно проверить его, нажав кнопку головоломки. Java-редактор сообщает, найдено ли решение или нужно что-то изменить.

При переключении в режим головоломки полное решение должно быть в одной структурограмме. Из этого решения Java-Editor запоминает текстовое представление и сравнивает его с текстовым представлением решения учащегося.

Если порядок последовательности не имеет значения в двух последовательных инструкциях, решение с обратным порядком также является правильным с точки зрения содержания. Это не может контролироваться Java-редактором.Поэтому в таких случаях не следует разбирать две части головоломки.

Диаграмма последовательности

Инструмент "Диаграмма последовательности" позволяет интерактивно создавать диаграмму последовательности. Линии жизни существуют в двух формах, как действующее лицо и с именной головой. Они вставляются с помощью панели инструментов. Чтобы создать соединение между линиями жизни, используйте подключиться в контекстном меню линии жизни. Чтобы изменить тексты, вызовите текстовый редактор двойным щелчком мыши.


Сеанс отладчика можно отобразить в виде диаграммы последовательности с помощью меню Проверить/создать диаграмму последовательности. То же самое относится к работе без отладчика или с отладчиком в окне UML.

Система меню

Меню "Файл"

В меню "Файл" доступны обычные операции с файлами, такие как Создать, Открыть, Сохранить и Печать. Все открытые окна можно сохранить как проект Java-редактора (jep-файл). Если вы откроете проект Java-Editor, все эти окна снова откроются. Сохранить все в сохраняет все файлы в другой папке. Вы можете экспортировать исходный файл Java как файл html или rtf, который затем показывает подсветку синтаксиса вне Java-Editor.

Меню редактирования

Пуск

С помощью начального меню и соответствующих символов на панели инструментов вы можете скомпилировать исходный код в активном окне редактора. Если вы устанавливаете компилятор jikes, вы можете компилировать альтернативно. Сообщения об ошибках отображаются в окне сообщений. Дважды щелкните сообщение об ошибке, чтобы перейти к позиции ошибки в исходном коде. Если вы не понимаете сообщение об ошибке, рекомендуется выполнить компиляцию со вторым компилятором.

Если вы запустите исходный файл, который был изменен, он будет автоматически сохранен, скомпилирован и, если он не содержит ошибок, будет запущен.

Дополнительно можно вызывать отладчик, дизассемблер и javadoc. С помощью подменю Jar-File вы можете создать исполняемый файл jar. Пакетная операция поддерживает легкий обмен файлами между учениками и учителем. Упакованный jar-файл можно легко загрузить на учебную платформу или отправить по электронной почте учителю.

Тестовое меню

Командами тестового меню вы запускаете программу под управлением отладчика. Если в исходном файле установлена ​​точка останова и вы запускаете программу, будет вызван отладчик. После достижения точки останова выполнение прерывается. Затем вы можете выполнять программу пошагово. Во время отладки в окне сообщения отображается подробная информация об атрибутах, параметрах, локальных переменных, выражениях наблюдения и стеке вызовов.

Меню UML

С помощью меню UML вы можете открывать окна UML и создавать, открывать и редактировать классы. Используйте стандартные символы сохранения и загрузки для сохранения и загрузки диаграмм классов uml и выберите расширение .uml. Вы можете сохранить UML-диаграмму в виде изображения. Часто бывает проще скопировать всю uml-диаграмму или выбранные части в буфер обмена окна. С помощью открыть папку вы создаете UML-диаграмму из всех файлов в выбранной папке. Если вы уже открыли некоторые исходные файлы Java, вы можете использовать диаграмму из открытых файлов для создания диаграммы классов.

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

Меню компонентов

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

Меню инструментов

Меню инструментов поддерживает подключаемый модуль Checkstyle, который проверяет стиль исходного файла на соответствие заданному стандарту кодирования, и подключаемый модуль Jalopy, который форматирует исходный файл. согласно стандарту кодирования. Инструмент сравнения сравнивает два исходных файла, показывает новые, измененные и удаленные строки и позволяет редактировать модификации. Если вы устанавливаете Git или инструмент subversion, в меню инструментов появляется дополнительное меню для git соответственно subversion. Если вы устанавливаете JUnit, меню инструментов получает дополнительное меню для JUnit.


Меню окна

Помимо основных функций для упорядочивания, открытия и закрытия окон, вы можете отображать и скрывать некоторые панели инструментов и открывать окна консоли, проводника и браузера. Кроме того, вы можете выбрать шрифт для активного окна и открыть диалоговое окно конфигурации.

Меню справки

Меню справки обеспечивает доступ к документации по Java, демонстрационным материалам и учебным пособиям. Можно интегрировать java-книгу в html-форму.У вас есть ссылка на домашнюю страницу Java-Editor и возможность обновить Java-Editor.

Операционные системы

Окна

Редактор Java – это приложение для Windows.

Линукс

Редактор Java работает под Linux с расширением wine. Вы найдете подсказки по установке на странице WineHQ. Шрифт Monospace рекомендуется. Некоторые шрифты не работают в редакторе.

Редактор Java работает на Mac с установленным CrossOver Office (Wine), а также в виртуализированной среде Windows XP. На 64-битном Mac он работает под управлением программного обеспечения для виртуализации VMWare Fusion. Вы также можете использовать Java-Editor с Oracle VM Virtual Box.

Специальные возможности

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

Если вы не можете использовать мышь, скройте панели инструментов и активируйте параметр «Показать меню компонентов» в меню параметров. С помощью меню компонента можно создавать формы GUI с помощью меню.


Я пытаюсь отредактировать файл .class для игры. Я скачал jd-gui, который позволил мне просмотреть код, и попытался скопировать код на один из этих сайтов онлайн-компиляторов, чтобы скомпилировать его. Но все онлайн-сайты не могут его скомпилировать:

/ItemWeaponFemur.java:2: ошибка: не удается найти символ, расширяющий Кодекс ^

Я запутался, что мне нужно, чтобы отредактировать файл .class? Я просто делаю несколько изменений в коде. Поэтому я подумал, что все, что мне нужно, это декомпилятор, чтобы декомпилировать код, внести изменения, а затем скомпилировать его снова, но онлайн-компиляторы, похоже, не могут его скомпилировать.

Итак, что мне нужно для правильной компиляции?


Код жалуется, что не может найти класс Codex. Скорее всего, вам потребуется декомпилировать и перекомпилировать весь исходный код (или, по крайней мере, все зависимости файла .class), а не только один файл .class.

Странно, но в документации об этом ничего не сказано. Я просто пытаюсь изменить один единственный файл .class.

Вот что говорится в документации (немного):

Codex — это скриптовый язык движка на основе Java. Он широко используется в игре для таких вещей, как дисциплины, заскриптованные последовательности, двери и другие движущиеся объекты и т. д. Эта версия документации является неполной и будет обновлена ​​в будущем выпуске инструментов. Однако приведенной информации должно быть более чем достаточно, чтобы начать работу.

Чтобы компилировать и использовать скрипты Codex, вам понадобится какой-либо компилятор Java. Большинство сценариев изначально были написаны в среде Microsoft Visual J++, однако они также были скомпилированы и протестированы с помощью Sun JDK 1.1.8. Этот компилятор находится в свободном доступе по адресу:

Я скачал JDK, но это всего лишь какая-то штука для управления полетами Java, и я не вижу ничего похожего на декомпилятор или компилятор.

Редактируйте файлы классов Java с помощью этого инструмента.

Что нового в редакторе классов 2.23:

  • Шаблон посетителя реализован для текстовой сводки.
  • Усовершенствования пользовательского интерфейса: история файлов, включение/отключение меню в зависимости от контекста.
  • Вывод XML реализован с использованием шаблона базового посетителя, разработанного для текстовой сводки.

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

Простой и хорошо организованный интерфейс позволяет просматривать сведения о свойствах классов, пулах констант, полях и методах на отдельных вкладках. Редактор классов может прочитать файл класса Java и отобразить его категорию, версию, ограничения доступа и интерфейсы, которые вы можете изменить в соответствии со своими предпочтениями.

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

Одним из его преимуществ является способность обнаруживать каскадные изменения, что означает, что при изменении части структуры класс сканируется на наличие зависимостей и связей с другими полями, чтобы предотвратить ошибки.

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

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

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

Читайте также: