Editing ABAP code directly on GitHub
ABAP code can be stored as files on Github, and many open-source ABAP projects already exist.
When proposing changes, it might take more time to clone and install the files into a system, than doing the actual change. This blog post lists the possibilities for editing files directly on Github, without cloning to a local system.
Any file can be edited via the web-based editor,
But for ABAP files, there is no help provided for the developer, no syntax highlighting, no removal of trailing whitespace, it’s a raw text editor.
If continuous integration is set up, the developer will get feedback after having saved/committed the changes.
Editing files via codespaces will spawn a virtual machine in the cloud, and give the possibility to edit the files in a web-based editor, but it comes at a cost due to the virtual machine.
The editor works with all vscode extensions, providing ABAP syntax highlighting and fast feedback before commit.
It’s possible to run vscode locally and connect to the virtual machine via vscode remote workspaces.
As this is a full virtual machine, it’s also possible to run unit tests before commit.
github.dev / VS Code Web
The latest and greatest is the possibility to edit files using only the browser, while on github.com press “.” or change the URL from “.com” to “.dev”, and the editor will start up:
This is a web-enabled version of vscode, providing similar(but limited) features as the native version.
Syntax highlighting works via the ABAP extension, and partial static analysis via the abaplint extension
The below screenshot shows where-used, problems, and hover, running all in the browser! 🎉🤯🤠
As always, with some bugs, but I’m personally looking forward to using github.dev for ad-hoc changes 🙂
as always pretty cool! Keep on rocking!
Thank you very much, Lars! For some time now I've been using GitHub more and more. Since then I have come to appreciate many functions. In addition, I'm "back to the IT roots" on many topics. The simpler, the better it can be used from anywhere and integrated into everything. Example: Markdown 🙂