Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>SAP Hybris ToolsNew to Visual Studio Code? Get it now.
SAP Hybris Tools

SAP Hybris Tools

Devista

|
10 installs
| (0) | Free
SAP Commerce Cloud (Hybris) development tools for VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SAP Hybris Tools for VS Code

A VS Code extension for SAP Commerce Cloud (Hybris) development. Provides fast Search Anywhere, File Search, Go-to-Definition, Hover info, an Extension Tree sidebar, ImpEx syntax highlighting, and automatic index management.

Powered by the hybris-index-service — a bundled indexer that auto-starts when VS Code opens a Hybris project.

Features

  • Search Anywhere (Cmd+Shift+H / Ctrl+Shift+H) - Search types, beans, and file content across the entire project. Supports regex toggle.
  • File Search (Cmd+Shift+J / Ctrl+Shift+J) - Find files by name across all indexed extensions.
  • Go-to-Definition (Ctrl+Click) - Navigate to type codes and bean IDs in XML and ImpEx files.
  • Hover Info - Rich tooltips for types (hierarchy, attributes) and beans (class, properties) in XML and ImpEx.
  • Extension Tree - Sidebar showing all Hybris extensions with metadata.
  • Status Bar - Connection status, type/bean counts. Click for Start/Stop/Reconnect actions.
  • ImpEx Grammar - TextMate syntax highlighting for .impex files (header keywords, type codes, attribute qualifiers, macros, modifiers, strings).
  • Auto-reindexing - File watcher detects changes to items.xml, spring.xml, beans.xml, Java, ImpEx, and other source files, then rebuilds only the affected index categories.

Prerequisites

  • JDK 21+
  • Node.js 18+ (for building from source)

Installing from VSIX

code --install-extension hybris-vscode-*.vsix

Or in VS Code: Extensions panel > ... menu > Install from VSIX > select the file.

The VSIX is self-contained — it bundles the index service JAR. No separate installation needed.

Building from Source

# 1. Build the index service fat JAR first
cd ../hybris-index-service
./gradlew build

# 2. Install dependencies and build the extension
cd ../hybris-vscode
npm install
node esbuild.js

# 3. Package the VSIX (automatically copies the JAR via prepackage script)
npm run package

This produces a .vsix file (~30 MB, including the bundled index service JAR).

Development Mode

For development without packaging a VSIX:

npm install
node esbuild.js

Then open the hybris-vscode folder in VS Code and press F5 to launch the Extension Development Host.

In dev mode, copy the JAR manually before launching:

mkdir -p server && cp ../hybris-index-service/build/libs/hybris-index-service.jar server/hybris-index.jar

Watch Mode

node esbuild.js --watch

Rebuilds on file changes for faster iteration.

Settings

Setting Default Description
hybris.indexService.autoStart true Auto-start the index service on activation
hybris.indexService.port 8088 REST API port
hybris.indexService.javaPath "java" Path to Java executable
hybris.indexService.projectPath "" Hybris project root (empty = auto-detect from workspace)

How It Works

On activation (when a workspace contains bin/platform/build.xml), the extension:

  1. Checks if an index service is already running on the configured port
  2. If not, spawns the bundled JAR as a child process with --watch mode
  3. Waits for the service to become ready (up to 30 seconds)
  4. Registers all features (search, definitions, hover, tree view, status bar)

The index service handles project detection, indexing, file watching, and serving the REST API. The extension is a thin UI layer that consumes the API.

Source Structure

src/
├── extension.ts              # Activation, wires ServiceManager + client + features
├── api/
│   ├── client.ts             # HTTP client (Node built-in http, TTL cache, retry)
│   └── types.ts              # TS interfaces mirroring Kotlin models
├── service/
│   └── serviceManager.ts     # Auto-start/stop index service, process lifecycle
├── features/
│   ├── searchAnywhere.ts     # QuickPick content search
│   ├── fileSearch.ts         # QuickPick file name search
│   ├── definitionProvider.ts # Go-to-definition for XML + ImpEx
│   ├── hoverProvider.ts      # Hover for XML + ImpEx
│   ├── extensionTreeView.ts  # Sidebar tree
│   └── statusBar.ts          # Connection + stats + start/stop actions
└── util/
    ├── xmlContext.ts          # Detect type code/bean ID at cursor in XML
    └── impexContext.ts        # Detect type code/attribute at cursor in ImpEx

Zero runtime dependencies — uses only Node.js built-in http module.

Publishing

See PUBLISHING.md for VS Code Marketplace publishing instructions.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft