ModelMaker Code Explorer: Delphi Refactoring made easy!
MMX 12.1.0 released
On May 2nd 2016 ModelMaker Tools released Code Explorer v 12.1 This update includes Delphi 10.1 Berlin support.
- Award winning Refactoring Browser with Delphi pascal and C# .Net support.
- Integrated with Delphi 7, 2007-2010, XE - XE8, Delphi 10 Seattle and Delphi 10.1 Berlin.
- Delphi 5 and 6 support provided as service.
- Improve the design of existing code with build-in refactorings
- Instant, two-way navigation.
- Point-and-click, drag-and-drop programming.
- IntelliReplace™ propagates renames in code.
- Create and edit classes, members and procedures.
- Instantly copy, paste and on-the-fly convert classes, methods, properties etc. even between classes and modules.
- Use Entity Insight™ to change attributes for (multiple) selected members. Movie:
- Rearrange and Sort code, maintaining region definitions.
- Improve Navigation with History, Method Favorites and Member Search Bar
- Live Documentation support: check the movie
- Live Metrics™ check the movie
- Source Indexer check the movie
- IDE Editor Refactorings bring refactorings right in the Editor. Movie
As a Class Browser it shows classes (inheritance) and members (fields, methods, properties) in two filtered views, similar to the windows explorer. On the left the Explorer docked in the IDE editor. The Classes view (top) displays classes and inheritance relations for the current module. The Members view (bottom) show the filtered members for the selected class.
Code Explorer is fully Form Designer aware and, for example, has a special filter to suppress component fields and event handler methods.
As a Refactoring Editor, it makes changing code easy and fast: Classes and members can be created and modified through drag and drop or by selecting options in dedicated dialogs. You to Refactor, edit, correct and delete existing classes and members just as easy as you created them.
ModelMaker Code Explorer offers
- A Code Browser : Improved navigation based on two-way navigation.
- A structured Class Editor: Create, edit, delete and copy classes, members and module procedures with a few mouse clicks.
- Explorer Refactoring: Extract Class, Rename Parameter and many more.
- Editor Refactoring: Apply Extract Method, Add Local Var, Rename Local etc. in the IDE source editor.
- Entity Insight™ bar - quick access to attributes for selected entities.
- Live Documentation support: display and edit any comment style.
Cut,Copy and Paste let you pick up a class, properties and methods and duplicate them or move them to another class or module. Where necessary names and modifiers are automatically adjusted.
Drag and Drop Members on a class to copy / move / convert them. For example: Drag interface members on a class to implement the interface (C#, pascal), Drag a module or local procedure on a class to convert it to a method (pascal)
Use Editor Refactoring's to refactor an entity at cursor position or operate on selected code. For example press Ctrl+Shift+X to invoke Extract Method for the selected code. Configurable keyboard shortcuts make these refactoring-s available with just one keystroke. Common tasks like Add a Field, Modify a Property and Rename Local are all invoked with just one keystroke. Check a demo movie with some editor enhancements.
Advanced Code Sort and Rearrange features include:
- Rearrange members in Members view using Drag and Drop in Interface and Implementation (pascal) rearrange modes.
- Rearrange class members using predefined sorting schemes.
- Sort class members according the customizable default scheme.
- Sorting maintains Source Regions and optionally sorts inside regions
- Sorting hints are emitted for classes not matching the default sorting scheme.
- Read more on sorting...
Check the Articles and demo movies for more examples.
Check the Screenshots for examples.
Delphi 5 and 6 support
The Delphi 5 and 6 editions are included as a service "as long as they compile". New features are not retro-fitted into these IDEs. Support and bug fixing for these IDEs is limited because they cannot be debugged.