ABAP FS is a Visual Studio Code extension for ABAP development with AI assistance. It connects to an SAP system through the ABAP Development Tools (ADT) REST interface and gives both the developer and the AI assistant direct access to the live system over that connection.
For the developer, it presents the repository as a file system inside the editor, so ABAP objects can be browsed, edited, activated, tested, and debugged without leaving VS Code.
For the assistant, it provides a set of tools covering the same ground: searching the repository, reading and editing source, following where-used references, querying tables, running unit tests and ATC, and examining dumps, traces, and transports. GitHub Copilot uses these tools directly, and other assistants reach them through a local Model Context Protocol (MCP) server. Because the assistant works from the system itself rather than from general knowledge of SAP, it can reason about custom code, actual function signatures, and real data.
This project is a community alternative to SAP's official ADT for VS Code extension and is not affiliated with or endorsed by SAP.
Full documentation is published at marcellourbani.github.io/vscode_abap_remote_fs.
- VS Code 1.105 or later, or a compatible editor such as VSCodium, Cursor or SAP Business Application Studio.
- An SAP system reachable over HTTP or HTTPS, with the ICF service
/sap/bc/adtactive in transaction SICF. See Prerequisites. - For writing to older systems (roughly anything earlier than NetWeaver 7.51), the abapfs_extensions plugin must be installed on the development server. Browsing and reading work without it.
- For the AI features, GitHub Copilot is recommended. Other assistants are supported through the MCP server, with some features unavailable.
-
Install ABAP remote filesystem (
murbani.vscode-abap-remote-fs) from the Extensions view, or from a terminal:code --install-extension murbani.vscode-abap-remote-fs
-
Run ABAP FS: Connection Manager from the Command Palette and add a system (see Connection Manager): URL, client, user, and language. Connections can be stored in user or workspace settings. Passwords are kept in the operating system's credential store, not in settings files.
-
Run ABAP FS: Connect to an SAP system and select the system.
Once connected, the system appears in the Explorer and the ABAP FS views become available in the Activity Bar. A walkthrough is shown on first install and can be reopened at any time from Get Started: Open Walkthrough.
Most SAP-dependent features, including the AI tools, skills, and agents, stay hidden until at least one system is connected.
With a system connected, Copilot in VS Code can search objects, read, edit and activate objects, run unit tests and ATC, query tables, analyse dumps and traces, inspect transports, and drive the debugger. Copilot decides when to use these tools based on the question; no special syntax is needed. For example:
- "Where is
BAPI_USER_GET_DETAILused in custom code?" - "Run ATC on
ZCL_PRICINGand explain the findings." - "Which tables does this report update?"
The extension also provides:
- Skills: reference material Copilot loads when relevant, covering Clean ABAP, performance on ECC and HANA, navigating customizing, and researching unfamiliar parts of a system.
- Subagents: task-specific agents, such as for discovery, reading, or code review, each of which can be assigned its own model.
- Heartbeat: an optional background service that watches for conditions such as new dumps or transport releases and reports them.
- SAP Testing: a structured, multi-phase workflow in which Copilot analyses a report, designs test cases, automates them against SAP WebGUI using Playwright, and produces a Word evidence report. The phases include independent review steps, and the output is meant to be checked by someone who knows the business process.
- MCP server: run ABAP FS: Start MCP Server to expose the same tools on a local port to Cursor, Claude Code, Claude Desktop, Windsurf, IBM Bob, and other MCP clients. VS Code must remain open, since it holds the SAP connection and hosts the MCP server. An API key can be configured, and the edit tool can be disabled for read-only access. See MCP Server.
- Agent Chat (experimental): a chat panel inside VS Code for agents that implement the Agent Client Protocol, such as Claude Code, Codex, and Gemini CLI. ABAP FS starts the agent locally and gives it the same SAP tools. See Agent Chat.
Skills, subagents, and SAP Testing depend on VS Code chat features and are available only with GitHub Copilot.
The list below is an overview. Each item is described in the documentation.
- Browse packages and objects in the Explorer, or search across object types by name.
- Edit source with syntax checking, completion, hover information, and navigation provided by a dedicated language server.
- Activate single objects or groups of related objects together.
- Create programs, classes, interfaces, function groups, tables, CDS views, and other object types.
- Dedicated editors for message classes and HTTP services, and an object property view.
- Text element maintenance, favorites, and an ABAP REPL.
- Run ABAP Unit tests and view the results in the VS Code Testing panel; generate test classes.
- Run ATC checks with any available variant and read findings in the editor.
- Format code with ABAP Cleaner.
- Where-used analysis for objects, methods, and variables, plus an interactive dependency graph.
- An ABAP debugger with breakpoints, stepping, call stack, and variable inspection.
- Debug session recording, with offline replay including stepping backwards. Recordings can be shared as files.
- Runtime dump (ST22) and performance trace analysis.
- A feed reader for system events such as dumps and ATC results.
- A transport view for browsing, comparing, and releasing requests.
- Object revision history and comparison between versions.
- A blame gutter showing who last changed each line, when, and under which transport.
- abapGit integration.
- Side-by-side comparison of a single object between two systems.
A persistent workflow for comparing a scoped set of objects, potentially thousands, between two connected systems. It records which objects exist on each side, downloads and compares their source locally, exports the results, and can prepare a reviewed plan for applying selected differences. Discovery and comparison never modify either system; applying changes still goes through normal save, transport, and activation. See Repository Comparison.
- Run ABAP SQL queries and view the results in a sortable, filterable grid, with export to Excel or CSV.
- SAP Data Workbooks (
.sapwb): notebooks combining ABAP SQL, JavaScript, and Markdown cells for multi-step analysis.
- Run transactions in an embedded WebGUI, in the desktop SAP GUI, or in an external browser.
- An ADT communication log that records the HTTP traffic between VS Code and SAP, useful when something does not behave as expected.
- You are working on a live system. Activation, unit tests, and test automation all run on the connected system. Use a development or sandbox system unless you have a specific reason not to.
- Saving writes to SAP. Every save of an ABAP object, including a save triggered by VS Code's auto save, writes the source to SAP. The extension turns auto save off for ABAP files by default, but a user or workspace setting can turn it back on.
- AI edits are written immediately. When an assistant edits ABAP source, the change is saved to SAP as an inactive version straight away, before you choose Keep or Undo. Undo reverts it on the server.
- Production safeguards. On production systems the extension asks for confirmation before passing query results to an AI assistant and before starting a debug session.
- AI output needs review. The tools give an assistant accurate information about the system, but the assistant can still misunderstand intent. Review generated code and changes as you would a colleague's.
- Older systems. Some features rely on ADT services that are missing on older releases. Where possible the extension falls back to an alternative: transport information is read directly from the transport tables, and text elements are maintained through SAP GUI.
- Source search reads the server. Searches run by AI tools see the source saved on SAP, not unsaved changes in open editors.
See Important Considerations for more.
The Marketplace build sends no telemetry and makes no network calls other than to the SAP systems you configure and the AI services you choose to use. Basic usage counts are written to a local CSV file, which can be deleted at any time. See Privacy and Telemetry.
Organizations that distribute the extension internally can build their own package with a system whitelist restricting which SAP systems users may connect to, and optional Azure Application Insights telemetry under their own control. See the Organization Administration Guide.
The repository is a pnpm monorepo:
client/ VS Code extension
server/ Language server
modules/
abapObject/ ABAP object type definitions
abapfs/ Virtual file system
sharedapi/ Types shared between client and server
docs/ Documentation site sources
To build and test:
pnpm install
pnpm build
pnpm testTo package a VSIX and install it:
pnpm package
code --install-extension vscode-abap-remote-fs-<version>.vsixpnpm package runs the full build before packaging. On Windows, build-and-install.bat packages and installs in one step. To run from source without packaging, press F5 in VS Code to start an Extension Development Host.
The documentation site is generated with MkDocs. With Python and uv installed, pnpm docs serves it locally.
Bug reports, questions, and pull requests are welcome. Before starting on a feature, please check the documentation and open issues, since it may already exist or be in progress. Opening an issue to discuss an idea first is usually worthwhile. Conventions, build details, and the pull request process are described in CONTRIBUTING.md. Security issues should be reported as described in SECURITY.md.
ABAP FS builds on a number of open-source projects, including:
- Mermaid (MIT): diagram rendering
- Tabulator (MIT): data tables
- Cytoscape.js (MIT): dependency graph
- docx (MIT): Word document generation
- Application Insights for Node.js (MIT): optional organizational telemetry
- GitLens (MIT): the
gitlensblame render mode adapts styling patterns and defaults from GitLens - SAP Clean ABAP Style Guide (CC BY 3.0): source for the Clean ABAP skill
Complete license information is in THIRD_PARTY_LICENSES.md.
MIT. See LICENSE.