OpenEdge-ZExt - Visual Studio Code extension for OpenEdge ABL
OpenEdge ABL Extension for Visual Studio Code
- Auto-complete (tables, fields, methods)
- Source navigation
- Check syntax
- Syntax highlighting
- Code snippets
- Shortcut do method start line (Ctrl+Up)
- Grammar file adjustment for class type method parameters
- Source navigation to temp-table definition when received as method parameter
- Grammar file adjustment
- New commands for integration support
- Update auto-complete options after command "Read database structure" without restart VSCode
- Database structure files adjustment to work with multi-root workspace
See CHANGELOG for more information.
- Extension is activated for extensions: .i .p .w .cls
- Create a configuration file (see Extension Settings below)
- Execute command "ABL: Read Dictionary Structure" for auto-complete feature
ABL: Read Dictionary Structure
Create a database auto-complete file
ABL: Check Syntax (Shift+F2)
Check syntax for current file and highlights errors
ABL: Compile & Deploy (Alt+F1)
Compile the current file and deploy the RCode when configured
ABL: Deploy Source (Alt+F2)
Deploy the current file when configured (without compile)
ABL: Compile with Options (Alt+F3)
Compile the current file with additional options (Preprocess, X-Ref, etc)
Format source code
- Trim: remove whitespaces from the end of the lines
Create a file named ".openedge-zext.json" in root path of the workspace.
Download base configuration file here.
"proPathMode": "overwrite", // append, prepend
"taskType": "current.r-code", // current.source
"trim": "right" // none
dlcPath is optional, and overwrite DLC enviorenment variable
dbDictionary are the logical names of database files for the auto-complete option (command: ABL Read Dictionary Structure)
deployment are actions from compile/deploy commands (Alt+F1, Alt+F2 and Alt+F3)
format are formatter options
- Default values:
workingDirectory: folder of active source file
Known Issues & Enhancements
Visit Issues page on GitHub to report any problem or submit an enhancement.
Inspired by ZaphyrVonGenevese (https://github.com/ZaphyrVonGenevese/vscode-abl) and ChrisCamicas (https://github.com/chriscamicas/vscode-abl) work.
Licensed under the Apache-2.0 License.
Grammar file from Christophe Camicas (https://github.com/chriscamicas/abl-tmlanguage.git)