"Zowe Explorer" brings support for browsing, editing and creating data on z/OS via z/OSMF REST API.
Plugin in Marketplace: JetBrains Marketplace
Using our plugin you will be able to:
- Start working with z/OS easily with no complex configurations.
- Organize datasets on z/OS, files on USS into Working Sets.
- Allocate datasets, create members, files and directories with different permissions.
- Perform renaming, copying and moving data in a modern way.
- Edit datasets, files and members. Smart auto-save will keep your content both in the editor and on the mainframe in-sync.
- Create multiple connections to different z/OS systems.
- Perform all available operations with Jobs.
- Highlight all IntelliJ supported languages automatically and recognize them once opened from the mainframe.
To start using the plugin:
- Install the plugin in your Intellij based IDE.
- Contact your RACF administrator so that your user is in the IZUUSER RACF group
- You are ready to go! Start working with z/OS from the IDE.
Note: z/OS 2.1 or higher is required
Installing Zowe IntelliJ plug-in
Configuring Zowe IntelliJ plug-in
Troubleshooting Zowe IntelliJ plug-in
- IntelliJ IDEA version 2022.3 and later (Community will be enough)
- Java SDK 17 (IntelliJ built-in)
- Clone the project repo:
git clone git@github.com:zowe/zowe-explorer-intellij.git
- Three options of working with the plugin are available:
- Run plugin - run the plugin in development mode
- Package plugin - make a zip portable package to install it in IntelliJ IDEA or publish somewhere
- Run tests - run plugin tests to check the codebase with automated tests
- Proceed to Contribution Guidelines to develop some new functionality for the project.
We have two options of tests:
- UI tests - run with open IDE, make test of user-like interaction with the plugin;
- Unit tests - automated headless bundle to test plugin functions as if they were a separate pieces.
- In IntelliJ Idea change Settings => Tools => Terminal Shell path parameter from PowerShell to Git Bash. Example: "C: \Program Files\Git\usr\bin\bash.exe" --login -i
- Make Java version 17 available from command line (add to PATH)
- change values for ZOS_USERID, ZOS_PWD, CONNECTION_URL in src/uiTest/kotlin/auxiliary/utils.kt
- run the script uiTest.sh
- once IdeForUiTests started make it as main window on the screen and do not touch mouse anymore
UI tests results: build/reports/tests/uiTest/index.html
- change values for ZOS_USERID, ZOS_PWD, CONNECTION_URL in src/uiTest/kotlin/auxiliary/utils.kt
- run the script smokeTest.sh
- if unit tests fail, smoke ui test will be skipped. When unit tests are successful, IdeForUiTests will be run
- once IdeForUiTests started make it as main window on the screen and do not touch mouse anymore
Smoke test results: build/reports/tests/test/index.html with report for unit tests, build/reports/tests/SUCCESS(FAILURE).txt with quick summary for unit test run (file name depends on test run result), build/reports/tests/smokeUiTest/index.html with report for smoke UI test
"Unit tests" Gradle task: just run it as a configuration option. If you want to run a separate unit test, you should consider to use "Kotest" plugin. Firstly, you need to download it. Then, go to "Edit Configurations..." -> "Edit configuration templates..." -> "Kotest". In there, you need to enable VM options and add the following lines:
-Didea.force.use.core.classloader=true
--add-opens=java.desktop/java.awt=ALL-UNNAMED
--add-opens=java.desktop/sun.awt=ALL-UNNAMED
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/jdk.internal.vm=ALL-UNNAMED
After the "Kotest" is set up, just click on the green arrow near the test you want to run.
In case of any troubles during plugin usage, feel free to contact us.
If you want to help the project, improve some functionality, resolve bug or add some new feature, please, refer to the contribution guide.
If you have any questions, related to the project development, further plans or something else, you can reach as out by some of the communication chanels:
- For Mainframe Slack channel in IBA workspace
- Zowe Explorer IntelliJ Slack channel in Open Mainframe Project workspace
- For Mainframe GitHub (create or review issues)
- Zowe Explorer IntelliJ GitHub (create or review issues)
- Email to: Uladzislau Kalesnikau (Team Lead of the IJMP)
Note: GitHub issue is the preferred way of communicating in case of creating some bug/feature/request for enhancement. If you need direct consulting or you have any related questions, please, reach us out using Slack channels or E-mail