1. Noel Hibbard
  2. PowerBuilder
  3. Wednesday, 6 May 2020 19:29 PM UTC

I am fairly sure I am not alone in thinking the PowerScript editor needs a refresh. My editor of choice outside PowerBuilder is Microsoft VSCode. VSCode is open source and runs on the Chromium engine. The editor component of VSCode is called Monaco Editor and is available as a standalone library (MIT License) which can easily be embedded into a webpage running on almost all browsers. I actually just used it on a project for the first time today and it only took about 30mins to figure out how to implement it. Microsoft has a demo of it here:
https://microsoft.github.io/monaco-editor/index.html

It is packed with most of the VSCode features. A few:
- Syntax highlighting
- Code completion
- Ref lookups
- Function defs
- Find and replace (Ctrl+F) (with RegEx support)
- Minimap built into the scroll bar
- When highlighting a variable or function you will see colored ticks in the minimap for every occurrence
- Lots of keybindings

It obviously doesn't support PowerScript out of the box but implementing syntax highlighting is as easy as making a json config file that defines the keywords, comment character, block comment begin and end characters, ect. If you want to implement code completion, reference lookup, function definitions, ect then you will need to make use of LSP (Language Server Protocol). LSP talks to a language server which is basically just a JSON-RPC service which is called as you type. The spec is here:
https://microsoft.github.io/language-server-protocol/

Long story short, PB2019R2 introduced a new WebBrowser control based on chromium that works really well. Is there any chance of leveraging this new WebBrowser control to replace the current PowerScript editor with Monaco? Seems like it would be a fairly straight forward project. Especially if you don't bother with leveraging LSP for code completion. Even without LSP it's smart enough to autocomplete variable names and stuff like that. Just about anything would be an improvement over the current editor which borders on notepad.exe levels of uselessness.

Roland Smith Accepted Answer Pending Moderation
  1. Wednesday, 6 May 2020 19:42 PM UTC
  2. PowerBuilder
  3. # 1

Send this to product@appeon.com with a subject of 'PowerBuilder Enhancement Request'.

 

Comment
There are no comments made yet.
André Monz Accepted Answer Pending Moderation
  1. Friday, 8 May 2020 13:27 PM UTC
  2. PowerBuilder
  3. # 2

Tried it a year ago https://community.appeon.com/index.php/qna/q-a/powerscript-editor

Maybe Armeen can tell us somwthing about Appeons plans?

 

Comment
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Friday, 8 May 2020 21:16 PM UTC
  2. PowerBuilder
  3. # 3

The roadmap page outlines what kind of high-level changes you can likely expect in the upcoming revisions and next major version.  Since we have to keep adapting to technology changes and customer needs, we cannot reliably predict beyond the next major version.

Revamping PowerBuilder apps (rather than the IDE) is what is on the minds of most company decision makers as their biggest pain point.  This is why we have put such great focus to modernize the UI, architecture, and functionality of PowerBuilder apps in a short 3-year timeframe.

However, revamping the IDE for PowerScript is definitely on our minds, and if it wasn't such a huge effort to do so you would already have it today.  In fact, we have already started making some incremental enhancements, such as improving the search box, open containing folder, new picture selection tool, and Git/SVN integration. 

Because there are so many things we need to do for PowerBuilder, we are forced to be disciplined about what order we approach things.  But it would be wrong to use this as the rationale that Appeon would never revamp the current IDE for PowerScript.  

Best regards,
Armeen

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.