A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/vscode-abl/vscode-abl below:

GitHub - vscode-abl/vscode-abl

OpenEdge ABL support for Visual Studio Code

This extension provides rich OpenEdge ABL support for Visual Studio Code - Extension page

This extension is based on the work of Christophe Camicas but has been completely overhauled with the addition of the Language Server. It is actively maintained, so unless you prefer not to switch to the new configuration files, you should use this extension. Currently, this extension is available for free; however, please note that some features might become available only in a commercial edition in the future.

🆕 🚀 This extension is now sponsored by Progress Software! 🚀

This extension requires at least one OpenEdge installation with a developer license. The extension is currently tested with 11.7, 12.2, and 12.8. It may or may not work with older versions.

OpenEdge runtimes have to be declared in the VSCode configuration file. Open settings (Ctrl + comma) -> Extensions -> ABL Configuration -> Runtimes, or modify settings.json:

OpenEdge projects can be configured in a file called openedge-project.json. This file must be in the root directory of the project.

You can also create the openedge-project.json file from an ABL session (PDSOE or plain prowin/_progres) by executing this procedure (provided by Carl Verbiest).

The extension is activated when a .p, .w, or .cls file is opened. ABL actions may fail before the extension is activated.

Actions & Keyboard Shortcuts

The following actions are defined in this extension (use Ctrl + Shift + P to execute actions):

The following keyboard shortcuts are configured by default:

On top of the default profile configured in openedge-project.json, additional profiles can be configured in the profiles section. Each profile is defined by a name, parent's name (optional) and a set of values. For example:

V11 Profile inherits from the default profile, so graphicalMode will be set to true. OpenEdge version and DB connections are specified in the profile. V12.2 GUI Profile doesn't inherit from the default profile, so it won't have any DB connection. When opening a project, VSCode will check for .vscode/profile.json. If this file is present, then this profile will be loaded. Otherwise, the default profile will be used. It is recommended to add this file to the SCM ignore list.

You can use the debugger to debug a remote ABL session (assuming it is started with -debugReady) or PASOE instance (assuming that oedebugger webapp is deployed).

The debugger supports these features:

You first need to create the launch configuration in your .vscode/launch.json file; use Ctrl + Shift + D to open the "Run and Debug" view, then click on "Add Configuration" and select one of the ABL options.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach to AVM",
      "type": "abl",
      "request": "attach",
      "hostname": "127.0.0.1",
      "mode": "legacy",
      "port": 3099,
      "pause": true,
      "localRoot": "${workspaceFolder}"
    }
  ]
}

To attach to a remote process, it needs to be debug-ready. The easiest way to achieve that is to add -debugReady 3099 to the startup parameters (.pf file) of your application server. When debugging a local procedure, VSCode will always start the AVM session with -debugReady 9999, so it won't be possible to start two debug sessions at the same time. This limitation will probably be lifted in the future. The debugger will also stop at the first instruction, which is always a VSCode-specific procedure. You can immediately type F5 to jump to the first executable line of your procedure.

Full size image

Full size image

CABL (Code analysis for ABL) is now available as a separate VS Code extension. It is currently not available on the VS Code marketplace, the extension has to be downloaded from its GitHub repository, and installed with "Extensions: Install from VSIX..." command (type Ctrl + Shift + P, then vsix).

SonarLint CABL requires Java 17 to be executed. If Java 17 is not available in your PATH, you can configure it in the VS Code settings:

Once configured and initialized, configure the connection to your SonarQube server. Open the "SonarLint CABL" view, and click on the "Add SonarQube Connection" button. Note that SonarCloud connection is not supported with ABL (and will never be supported).

Then bind your local project to a remote SonarQube project by clicking on the "Add Project Binding" button:

Select the remote project:

Check that binding is present in SonarLint CABL view:

CABL rules will now be executed when any ABL file is saved in VS Code:

Use ABLUnit Test Runner extension

Here are a few things to verify before opening issues:

Initial plugin development done by chriscamicas. In turn, largely inspired by ZaphyrVonGenevese work (https://github.com/ZaphyrVonGenevese/vscode-abl). Also inspired by vscode-go and vscode-rust extensions.

Thanks to all the contributors: mscheblein, Peter Judge

VSCode Plugin Code is licensed under the MIT License. Language Server code is © Copyright Riverside Software. OpenEdge and ABL are registered trademarks of Progress Software Corporation.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4