ISPF editor (isredit)-like input box extension #264
Replies: 4 comments
-
Transitioning existing ISPF users to VS Code is certainly an important use case, but our main focus with Z Open Editor and Wazi is to eliminate mainframe-specific differences as much as possible and allow hybrid teams that write z/OS application as well as distributed applications in Typescript or Java to use all the same tools and ways of working. The vision for closing the skills gap is that when I can write apps for the Cloud with popular tools such as VS Code that I can apply almost the same user experience for writing code, building, and debugging for a COBOL application as well. So when we add a capability we first look at how would this be done with other popular technologies in VS Code (e.g. ZAPP being similar to package.json or Gradle, or zcodeformat being similar to prettier) and less how can we make it similar to ISPF. However, I can see a lot of value in your proposal as well for onboarding the experience ISPF users and gradually easing them into VS Code. Perhaps this could be a third party extension layer on top of Z Open Editor; or even be more or less independent? |
Beta Was this translation helpful? Give feedback.
-
Hi, I was also thinking of a 3rd party extension, add-on, for Z Open Editor or any editor window in VS Code. Of course, only people from the mainframe world would find an interest for it. And it is also necessary to recognize certain interesting sides to the ISPF editor, such as excluding (hiding) all the lines and displaying only the lines carrying a certain information, deleting all the lines excluded (hidden) or on the contrary deleting all the lines not excluded (not masked). It is true that this concerns more data files than source code. We should not underestimate the difficulty for a certain part of the population who have worked on mainframes for decades to switch to a universe like VS Code, (and Git!). I don't know how to develop a VS Code extension, and moreover I don't have the time to do it. We are putting all our strength into modernizing our Development Workshop and switching to CI/CD management mode. |
Beta Was this translation helpful? Give feedback.
-
Hi, For your information, I found an extension on the marketplace that does something similar to what I would like to do: Python Editing Terminal. This extension allows you to enter commands in a line-mode interface (here based on a Python interface), retrieve them in the VS Code extension, and then transform them into commands for the active VS Code editor. I will take inspiration from it and replace the Python interface with an embedded node.js application based on its native REPL component. The REPL app will run in a VS Code Terminal. The REPL application will take care of controlling the commands in isredit format, preparing them for processing and sending them to the VS Code extension which will turn them into native VS Code commands or native Z Open Editor commands as appropriate. Some commands are specific to the mainframe world, such as the numbering and unnumbering of source code lines. Only Z Open Editor offers this functionality and in this case the proposed extension can only be used (at least in part) if you are in an editor managed by Z Open Editor. I think we can also reproduce the management of isredit labels by means of a system of bookmarks (decorations), like for example what is proposed in the extension Labeled Bookmarks. |
Beta Was this translation helpful? Give feedback.
-
Interesting. Thanks for sharing. |
Beta Was this translation helpful? Give feedback.
-
Hi,
The VS Code text editor that Z Open Editor is based on is already rich of features.
But several (ten) years of practice of the ISPF editor create Pavlovian reflexes... Often I said to myself "under ISPF I would accomplish this task in two commands"...
Why not create an extension that replicates some of the commands from the ISPF editor (isredit)?
This extension could materialize at the level of the interface by an input box displayed permanently, or displayed / hidden at will.
Upon committing an input, the command would be parsed and translated into commands for the VS Code editor.
This input box should be anchored somewhere in the VS Code editor.
An alternative to the input box could be a Terminal dedicated to entering ISPF editor type commands acting on the active editor, which would also provide feedback on the commands executed, such as the number of occurrences found by a "find all" command, or the occurrence number for a "find next" command.
This extension could for example also manage the changes in the way of the ISPF editor, ie by preserving the positions of the text columning.
The latest developments of VS Code can also help to implement ISPF editor type commands.
For example version 1.7.0 introduced manual folding: this is something that could perhaps help to manage the "exclude all" and "find all" commands of ISPF editor.
The ISPF editor distinguishes between two types of commands:
The ISPF editor also supports a macro language, generally developed in the Rexx language, but this could be an evolution of a first extension already handling standard commands.
Beta Was this translation helpful? Give feedback.
All reactions