Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
visionx:eplug_guide [2018/04/12 13:02] robot |
visionx:eplug_guide [2020/06/05 17:08] cduncan [Compile time checks] |
||
---|---|---|---|
Line 2: | Line 2: | ||
~~Title: Eclipse Plugin for VisionX (EPlug)~~ | ~~Title: Eclipse Plugin for VisionX (EPlug)~~ | ||
- | Version: 1.0 / 2018-04-12 | + | Version: 1.0 / 2019-10-30 |
====== Introduction ====== | ====== Introduction ====== | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] is a plugin to extend the [[https://www.eclipse.org/|Eclipse Java Integrated Development Environment]] with support and additional features for development with the [[https://www.sibvisions.com/jvx|JVx Application Framework]] and the [[https://visionx.sibvisions.com/|VisionX Low-Code Development Platform]]. | + | [[https://eplug.sibvisions.com/|EPlug]] is a plugin to extend the [[https://www.eclipse.org/|Eclipse Java Integrated Development Environment]] with support and additional features for development with the [[https://jvx.sibvisions.com/|JVx Application Framework]] and the [[https://visionx.sibvisions.com/|VisionX Rapid Application Development Tool]]. |
- | Because [[https://www.sibvisions.com/jvx|JVx]] is utilizing various different techniques to achieve its goals and the necessity to work around technical limitations, we provide support to IDEs like Eclipse to achieve a very good user experience when building complex applications. | + | Because [[https://jvx.sibvisions.com/|JVx]] is utilizing various different techniques to achieve its goals and the necessity to work around technical limitations, we provide support to IDEs like Eclipse to achieve a very good user experience when building complex applications. |
====== Features ====== | ====== Features ====== | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] extends the Java IDE with additional features and functionality, for example: | + | [[https://eplug.sibvisions.com/|EPlug]] extends the Java IDE with additional features and functionality, for example: |
- | * Interaction with [[https://visionx.sibvisions.com/|VisionX]] | ||
* Extended auto-completion | * Extended auto-completion | ||
* Extended compile-time checks | * Extended compile-time checks | ||
Line 20: | Line 19: | ||
* Various commands | * Various commands | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] adds the ability to interact with [[https://visionx.sibvisions.com/|VisionX]] directly from the Java IDE for certain actions, both triggered by the user and automatically. | + | Additionally, it adds the ability to interact with [[https://visionx.sibvisions.com/|VisionX]] directly from the Java IDE for certain actions, both triggered by the user and automatically. |
{{:visionx:eplug_guide:eplug-feature-overview.png?nolink|A screenshot of Eclipse showing multiple EPlug features at once.}} | {{:visionx:eplug_guide:eplug-feature-overview.png?nolink|A screenshot of Eclipse showing multiple EPlug features at once.}} | ||
Line 28: | Line 27: | ||
====== Installation ====== | ====== Installation ====== | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] can be installed from the [[https://marketplace.eclipse.org/|Eclipse Marketplace]] by using the [[http://marketplace.eclipse.org/content/eplug-visionx|EPlug marketplace entry]]. | + | [[https://eplug.sibvisions.com/|EPlug]] can be installed from the [[https://marketplace.eclipse.org/|Eclipse Marketplace]] by using the [[http://marketplace.eclipse.org/content/eplug-visionx|EPlug marketplace entry]]. |
{{:visionx:eplug_guide:eplug-visionx-marketplace-entry.png?nolink|The EPlug-VisionX marketplace page.}} | {{:visionx:eplug_guide:eplug-visionx-marketplace-entry.png?nolink|The EPlug-VisionX marketplace page.}} | ||
Line 36: | Line 35: | ||
====== License and Trial ====== | ====== License and Trial ====== | ||
- | When Eclipse started the first time after [[https://www.sibvisions.com/eplug|EPlug]] has been installed, a prompt is opened to either select a commercial license file from the local disk or to request a new trial license from the license server. | + | When Eclipse started the first time after [[https://eplug.sibvisions.com/|EPlug]] has been installed, a prompt is opened to either select a commercial license file from the local disk or to request a new trial license from the license server. |
{{:visionx:eplug_guide:first-run-license-selector.png?nolink|The trial window as it appears upon first run of Eclipse with EPlug.}} | {{:visionx:eplug_guide:first-run-license-selector.png?nolink|The trial window as it appears upon first run of Eclipse with EPlug.}} | ||
Line 48: | Line 47: | ||
{{:visionx:eplug_guide:preferences-license.png?nolink|The EPlug License Preference Page.}} | {{:visionx:eplug_guide:preferences-license.png?nolink|The EPlug License Preference Page.}} | ||
- | In the preferences you can also view various information about the license, including the time remaining until it is expiring if it is a trial license. | + | In the preferences, you can also view various information about the license, including the time remaining until it is expiring if it is a trial license. |
====== Using EPlug ====== | ====== Using EPlug ====== | ||
- | For all features to be available, [[https://www.sibvisions.com/eplug|EPlug]] must be activated on the current project. This can be done through the First Run Wizard which is displayed when Eclipse is started the first time after the [[https://www.sibvisions.com/eplug|EPlug]] installation. | + | For all features to be available, [[https://eplug.sibvisions.com/|EPlug]] must be activated on the current project. This can be done through the First Run Wizard which is displayed when Eclipse is started the first time after the [[https://eplug.sibvisions.com/|EPlug]] installation. |
{{:visionx:eplug_guide:first-run-project-selector.png?nolink|The first run wizard which allows to activate EPlug on projects.}} | {{:visionx:eplug_guide:first-run-project-selector.png?nolink|The first run wizard which allows to activate EPlug on projects.}} | ||
- | Select all projects on which you want to enable [[https://www.sibvisions.com/eplug|EPlug]] and press "OK". | + | Select all projects on which you want to enable [[https://eplug.sibvisions.com/|EPlug]] and press "OK". |
- | Afterwards [[https://www.sibvisions.com/eplug|EPlug]] can be activated on single projects through the project context menu. | + | Afterwards [[https://eplug.sibvisions.com/|EPlug]] can be activated on single projects through the project context menu. |
{{:visionx:eplug_guide:project-context-menu.png?nolink|The the project context menu showing the option to activate EPlug on this project.}} | {{:visionx:eplug_guide:project-context-menu.png?nolink|The the project context menu showing the option to activate EPlug on this project.}} | ||
Line 65: | Line 64: | ||
{{:visionx:eplug_guide:project-properties.png?nolink|The project preferences with the EPlug node selected.}} | {{:visionx:eplug_guide:project-properties.png?nolink|The project preferences with the EPlug node selected.}} | ||
- | |||
- | ===== Interaction with VisionX ===== | ||
- | |||
- | [[https://visionx.sibvisions.com/|VisionX]] is a low-code development platform which let's you quickly create, edit and publish applications. It has the ability to interact with [[https://www.sibvisions.com/eplug|EPlug]], and [[https://www.sibvisions.com/eplug|EPlug]] can interact with [[https://visionx.sibvisions.com/|VisionX]] in a variety of ways. | ||
- | |||
- | ==== Connecting with VisionX ==== | ||
- | |||
- | The connection to [[https://visionx.sibvisions.com/|VisionX]] can be toogled by clicking the menu item and selecting the option "VisionX Communication". | ||
- | |||
- | {{:visionx:eplug_guide:visionx-menu.png?nolink|The VisionX toolbar menu.}} | ||
- | |||
- | It can also be toggled through the context menu of the editor. | ||
- | |||
- | {{:visionx:eplug_guide:visionx-context-menu.png?nolink|The VisionX context menu that can be accessed in the editor.}} | ||
- | |||
- | [[https://visionx.sibvisions.com/|VisionX]] does automatically connect with a running [[https://www.sibvisions.com/eplug|EPlug]] instance. | ||
- | |||
- | ==== Synchronizing the selection ==== | ||
- | |||
- | The selection between [[https://visionx.sibvisions.com/|VisionX]] and [[https://www.sibvisions.com/eplug|EPlug]] can be synchronized either manually or by automatic means. The selection in Eclipse is the position of the cursor in the text editor, the selection in [[https://visionx.sibvisions.com/|VisionX]] is the actual selection of components in the design mode. | ||
- | |||
- | When [[https://visionx.sibvisions.com/|VisionX]] is in the Design Mode, the Eclipse button becomes available which allows to directly synchronize the selection between [[https://visionx.sibvisions.com/|VisionX]] and [[https://www.sibvisions.com/eplug|EPlug]]. | ||
- | |||
- | {{:visionx:eplug_guide:visionx-selection-sync-1.png?nolink|VisionX in Design Mode with the customizer open on an editor.}} | ||
- | |||
- | When pressing the Eclipse button the currently selected component will also be selected in the Eclipse code editor. | ||
- | |||
- | {{:visionx:eplug_guide:visionx-selection-sync-2.png?nolink|The source of the workscreen with the correct element selected.}} | ||
- | |||
- | When editing code in Eclipse the currently edited component can also be selected in [[https://visionx.sibvisions.com/|VisionX]] by using the "VisionX" context menu in Eclipse. | ||
- | |||
- | {{:visionx:eplug_guide:visionx-context-menu.png?nolink|The VisionX context menu that can be accessed in the editor.}} | ||
- | |||
- | By selecting "Show in VisionX" or "Edit in VisionX" the component currently under the cursor will be selected in [[https://visionx.sibvisions.com/|VisionX]]. | ||
- | |||
- | Automatic synchronization of the selection can also be activated in [[https://visionx.sibvisions.com/|VisionX]] through the tools menu, by selecting the item "Automatically show sourcecode". | ||
- | |||
- | {{:visionx:eplug_guide:visionx-tools-menu.png?nolink|VisionX with the tools menu open.}} | ||
- | |||
- | ==== Notifying of changes ==== | ||
- | |||
- | [[https://www.sibvisions.com/eplug|EPlug]] has the ability to inform [[https://visionx.sibvisions.com/|VisionX]] that changes to the sources have occurred and that it should reload the application. That can be done manually by selecting the command from the menu, or the automatic reloading can be activated. | ||
- | |||
- | When automatic reloading is activated, [[https://visionx.sibvisions.com/|VisionX]] will automatically reload the application everytime a file in the project has been edited. | ||
- | |||
- | ==== Commands ==== | ||
- | |||
- | There are various commands available to interact with [[https://visionx.sibvisions.com/|VisionX]]. | ||
- | |||
- | {{:visionx:eplug_guide:visionx-context-menu.png?nolink|The VisionX context menu that can be accessed in the editor.}} | ||
- | |||
- | === Auto Reload === | ||
- | |||
- | When "Auto Reload" is activated, [[https://visionx.sibvisions.com/|VisionX]] is automatically reloading the application when the source has been changed from within Eclipse. | ||
- | |||
- | === Auto Select === | ||
- | |||
- | When "Auto Select" is activated, [[https://visionx.sibvisions.com/|VisionX]] is automatically selecting the component which is being currently edited. | ||
- | |||
- | === Show in VisionX === | ||
- | |||
- | The currently selected item or source file is selected in [[https://visionx.sibvisions.com/|VisionX]]. | ||
- | |||
- | === Edit in VisionX === | ||
- | |||
- | The currently selected item or source file is selected in [[https://visionx.sibvisions.com/|VisionX]], and the Design Mode is turned on in [[https://visionx.sibvisions.com/|VisionX]]. | ||
- | |||
- | === New Workscreen === | ||
- | |||
- | The New Workscreen Wizard is opened in [[https://visionx.sibvisions.com/|VisionX]]. | ||
===== Commands ===== | ===== Commands ===== | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] provides various commands which can be used to navigate the project. These are either available from the context menu on a source file, or can be assigned custom keybindings through the Eclipse preferences. | + | [[https://eplug.sibvisions.com/|EPlug]] provides various commands which can be used to navigate the project. These are either available from the context menu on a source file or can be assigned custom keybindings through the Eclipse preferences. |
{{:visionx:eplug_guide:eplug-context-menu.png?nolink|The EPlug context menu that can be accessed through the editor.}} | {{:visionx:eplug_guide:eplug-context-menu.png?nolink|The EPlug context menu that can be accessed through the editor.}} | ||
Line 150: | Line 79: | ||
Opens the complement class of the currently open file. | Opens the complement class of the currently open file. | ||
- | The complement class is the "counterpart" of every class on the client or server. So when invoked on a workscreen (client-side), it will open the server-side LCO class, and vice versa. | + | The complement class is the "counterpart" of every class on the client or server. So, when invoked on a workscreen (client-side), it will open the server-side LCO class and vice versa. |
==== Go To application.xml ==== | ==== Go To application.xml ==== | ||
Line 170: | Line 99: | ||
==== Check File ==== | ==== Check File ==== | ||
- | Runs all [[https://www.sibvisions.com/eplug|EPlug]] checks on the file without building it anew. | + | Runs all [[https://eplug.sibvisions.com/|EPlug]] checks on the file without building it anew. |
===== DataBooks ===== | ===== DataBooks ===== | ||
- | The biggest and most important feature of [[https://www.sibvisions.com/eplug|EPlug]] is the support for DataBooks, both ''%%RemoteDataBook%%''s and ''%%MemDataBook%%''s to be exact. | + | The biggest and most important feature of [[https://eplug.sibvisions.com/|EPlug]] is the support for DataBooks, both ''%%RemoteDataBook%%''s and ''%%MemDataBook%%''s to be exact. |
- | Because DataBooks are using ''%%String%%''s to identify columns (instead of properties or Enums), it cannot be covered by the default functionality of Eclipse and the Java compiler. [[https://www.sibvisions.com/eplug|EPlug]] extends Eclipse with additional functionality to be able to provide various features on and around DataBooks and column names. | + | Because DataBooks use ''%%String%%''s to identify columns (instead of properties or Enums), it cannot be covered by the default functionality of Eclipse and the Java compiler. [[https://eplug.sibvisions.com/|EPlug]] extends Eclipse with additional functionality to be able to provide various features on and around DataBooks and column names. |
- | Both, the ''%%RemoteDataBook%%'' and the ''%%MemDataBook%%'' are supported out of the box. In the case of a ''%%MemDataBook%%'', the metadata is not requested from the data source (because there is none), but the metadata is directly extracted from the code itself. | + | Both the ''%%RemoteDataBook%%'' and the ''%%MemDataBook%%'' are supported out of the box. In the case of a ''%%MemDataBook%%'', the metadata is not requested from the data source (because there is none), but the metadata is directly extracted from the code itself. |
- | ==== Compile time checks ==== | + | ==== Compile Time Checks ==== |
- | Column names are checked during compilation if they are correct or not. This is done by actually requesting the metadata from the data source and comparing the names against it. In the case of the ''%%MemDataBook%%'' the metadata is built directly from the code. | + | Column names are checked during compilation if they are correct or not. This is done by actually requesting the metadata from the data source and comparing the names against it. In the case of the ''%%MemDataBook%%'', the metadata is built directly from the code. |
{{:visionx:eplug_guide:databook-compile-time-check.png?nolink|The workscreen source with a mistyped column name being highlighted.}} | {{:visionx:eplug_guide:databook-compile-time-check.png?nolink|The workscreen source with a mistyped column name being highlighted.}} | ||
Line 234: | Line 163: | ||
==== Build options ==== | ==== Build options ==== | ||
- | The build behavior can be changed in the project preferences. | + | The build behavior can also be changed in the project preferences. |
{{:visionx:eplug_guide:project-build-properties.png?nolink|The project build properties of EPlug.}} | {{:visionx:eplug_guide:project-build-properties.png?nolink|The project build properties of EPlug.}} | ||
Line 250: | Line 179: | ||
===== Actions ===== | ===== Actions ===== | ||
- | Another pillar of [[https://www.sibvisions.com/eplug|EPlug]] is the support for actions. Actions are a simple mechanism which provide the ability to use method references by specifying an object and the name of the method. The ability to use "real" method references has only lately become an integrated functionality of the JRE and of course [[https://www.sibvisions.com/jvx|JVx]] does also support this. | + | Another pillar of [[https://eplug.sibvisions.com/|EPlug]] is the support for actions. Actions are a simple mechanism which provide the ability to use method references by specifying an object and the name of the method. The ability to use "real" method references has only lately become an integrated functionality of the JRE and of course [[https://jvx.sibvisions.com/|JVx]] does also support this. |
- | Out of the box the [[https://www.sibvisions.com/eplug|EPlug]] support for actions does support all ''%%EventHandler%%'' extensions and various other methods. | + | Out of the box the [[https://eplug.sibvisions.com/|EPlug]] support for actions does support all ''%%EventHandler%%'' extensions and various other methods. |
==== Compile time checks ==== | ==== Compile time checks ==== | ||
Line 290: | Line 219: | ||
===== Server calls/actions ===== | ===== Server calls/actions ===== | ||
- | Through the connection of the application, it is possible to directly execute functions and actions on the server. [[https://www.sibvisions.com/jvx|JVx]] allows to do this by specifying the function name to call on the server and appending the parameters for the to be called function. | + | Through the connection of the application, it is possible to directly execute functions and actions on the server. [[https://jvx.sibvisions.com/|JVx]] allows to do this by specifying the function name to call on the server and appending the parameters for the to be called function. |
==== Compile time checks ==== | ==== Compile time checks ==== | ||
Line 312: | Line 241: | ||
==== Build options ==== | ==== Build options ==== | ||
- | The build behavior can be changed in the project preferences. | + | The build behavior can also be changed in the project preferences. |
{{:visionx:eplug_guide:project-build-properties.png?nolink|The project build properties of EPlug.}} | {{:visionx:eplug_guide:project-build-properties.png?nolink|The project build properties of EPlug.}} | ||
Line 348: | Line 277: | ||
===== Resources ===== | ===== Resources ===== | ||
- | Resources, like embedded images or text files, are important to most applications. In the case of [[https://www.sibvisions.com/jvx|JVx]] they mostly consist of images which are used to enhance the UI and are loaded through the ''%%UIImage%%'' facility. | + | Resources, like embedded images or text files, are important to most applications. In the case of [[https://jvx.sibvisions.com/|JVx]] they mostly consist of images which are used to enhance the UI and are loaded through the ''%%UIImage%%'' facility. |
==== Compile time checks ==== | ==== Compile time checks ==== | ||
Line 370: | Line 299: | ||
===== Comments ===== | ===== Comments ===== | ||
- | [[https://www.sibvisions.com/eplug|EPlug]] offers an additional plugin which provides various utility methods regarding comments. | + | [[https://eplug.sibvisions.com/|EPlug]] offers an additional plugin which provides various utility methods regarding comments. |
==== Code completion ==== | ==== Code completion ==== | ||
Line 401: | Line 330: | ||
See [[#go_to_complement_class|Go To Complement Class]] for more information. | See [[#go_to_complement_class|Go To Complement Class]] for more information. | ||
+ | |||
+ | ====== Interaction with VisionX ====== | ||
+ | |||
+ | [[https://visionx.sibvisions.com/|VisionX]] is a rapid application development tool which let's you quickly create, edit and publish applications. It has the ability to interact with [[https://eplug.sibvisions.com/|EPlug]], and [[https://eplug.sibvisions.com/|EPlug]] can interact with [[https://visionx.sibvisions.com/|VisionX]] in a variety of ways. | ||
+ | |||
+ | ===== Connecting with VisionX ===== | ||
+ | |||
+ | The connection to [[https://visionx.sibvisions.com/|VisionX]] can be toogled by clicking the menu item and selecting the option "VisionX Communication". | ||
+ | |||
+ | {{:visionx:eplug_guide:visionx-menu.png?nolink|The VisionX toolbar menu.}} | ||
+ | |||
+ | It can also be toggled through the context menu of the editor. | ||
+ | |||
+ | {{:visionx:eplug_guide:visionx-context-menu.png?nolink|The VisionX context menu that can be accessed in the editor.}} | ||
+ | |||
+ | ===== Notifying of changes ===== | ||
+ | |||
+ | [[https://eplug.sibvisions.com/|EPlug]] has the ability to inform [[https://visionx.sibvisions.com/|VisionX]] that changes to the sources have occurred and that it should reload the application. That can be done manually by selecting the command from the menusor, the automatic reloading can be activated. | ||
+ | |||
+ | When automatic reloading is activated, [[https://visionx.sibvisions.com/|VisionX]] will automatically reload the application everytime a file in the project has been changed. | ||
+ | |||
+ | ===== Synchronizing the selection ===== | ||
+ | |||
+ | The selection between [[https://visionx.sibvisions.com/|VisionX]] can also be synchronized either manually, through the same menus, or by automatic means. | ||
+ | |||
+ | The selection in Eclipse is the position of the cursor in the text editor, the selection in [[https://visionx.sibvisions.com/|VisionX]] is the actual selection of components in the design mode. If design mode is not active in [[https://visionx.sibvisions.com/|VisionX]], it will not be turned on. | ||
+ | |||
+ | ===== Additional commands ===== | ||
+ | |||
+ | There are various additional commands available to interact with [[https://visionx.sibvisions.com/|VisionX]]. | ||
+ | |||
+ | {{:visionx:eplug_guide:visionx-context-menu.png?nolink|The VisionX context menu that can be accessed in the editor.}} | ||
+ | |||
+ | ==== Edit in VisionX ==== | ||
+ | |||
+ | The currently selected item or source file is also selected in [[https://visionx.sibvisions.com/|VisionX]], and the Design Mode is turned on in [[https://visionx.sibvisions.com/|VisionX]]. | ||
+ | |||
+ | ==== New Workscreen ==== | ||
+ | |||
+ | The New Workscreen Wizard is opened in [[https://visionx.sibvisions.com/|VisionX]]. | ||