SAP Mobile Development Kit Editor
Professional visual editor and development tools for building enterprise mobile applications with SAP Mobile Development Kit (MDK).
Overview
The SAP Mobile Development Kit (MDK) Editor is a comprehensive development environment for Visual Studio Code and SAP Business Application Studio that enables developers to create, modify, and deploy enterprise-grade, cross-platform applications. Build once and deploy to iOS and Android platforms with a unified, metadata-driven approach.
Key Features
Visual Editing Experience
- Custom Editors: Specialized visual editors for pages, fragments, actions, rules, services, and more
- Page Map: Visual navigation flow diagram for your application structure
- Drag & Drop Interface: Intuitive control placement and configuration
- Split View: Side-by-side graphical and text editor with synchronized editing
- IntelliSense & Auto-Completion: Context-aware code completion for MDK metadata and business rules
- Validation: Real-time validation of application structure, services, and metadata
- Syntax Highlighting: Full syntax support for MDK JSON metadata and JavaScript rules
- Code Snippets: Pre-built templates for common patterns and controls
OData Integration
- Service Synchronization: On-demand metadata refresh from OData services, with configurable expiry notifications
- CSDL Viewer: View service metadata XML via the MDK Project Explorer (requires fetched metadata)
- Service Validation: Verify OData service connectivity and structure
- Annotation Support: Full support for OData annotations and CIM components
Project Management
- MDK Project Explorer: Dedicated project view with MDK-specific operations
- Build & Deploy: Integrated build system with deployment to SAP Mobile Services
- Migration Tools: Schema version migration with conflict resolution
- Template Wizards: Quick-start templates for common application patterns
- iOS & Android: Native mobile app development with offline capabilities
- Offline Support: Built-in offline OData capabilities
Advanced Features
- Extensibility Framework: Extend base applications with custom controls and logic
- Extension Points: Override and enhance existing application components
- i18n Editor: Internationalization support with multi-language management
- Style Editor: Custom styling and theming capabilities
- QR Code Generation: Quick onboarding with QR code deployment
Supported File Types
The extension provides specialized default editors for the following MDK metadata file types:
| File Extension |
Editor |
Description |
.page |
Page Editor |
Page definitions with UI controls and layout |
.fragment |
Fragment Editor |
Reusable UI fragments |
.action |
Action Editor |
Action definitions (navigation, OData operations, etc.) |
.rule |
Rule Editor |
Business logic written in JavaScript |
.global |
Global Editor |
Global variable definitions |
.app |
Application Editor |
Application configuration |
.service |
OData Service Editor |
OData service definitions |
.extension |
Extension Editor |
Custom extension control registration |
.cim |
CIM Editor |
CIM (Common Information Model) components |
.properties |
i18n Editor |
Internationalization and localization files |
Additional Editors
These editors are available as optional alternatives (right-click a file and choose Open With...):
| Editor |
Applies To |
Description |
| Page Map |
Application.app |
Visual navigation flow diagram |
| Code Extension Editor |
.js files |
JavaScript rule editing with MDK context |
| Extension Points Viewer |
.build/*.json |
View extension points in build output |
Commands
Command Palette
Access these commands through the Command Palette (Ctrl+Shift+P on Windows/Linux, Cmd+Shift+P on Mac):
| Command |
Description |
MDK: New Application |
Create a new MDK application |
MDK: Deploy |
Deploy to SAP Mobile Services |
MDK: Redeploy |
Redeploy to SAP Mobile Services |
MDK: Validate Application |
Run validation checks on the application |
MDK: Migrate |
Migrate to newer schema versions |
MDK: Check Unused Files |
Find unused resources in the project |
MDK: Focus on Project View |
Focus the MDK Project Explorer view |
MDK: Focus on Migration View |
Focus the Migration view |
SAP Business Application Studio Commands
The following commands are available in both VS Code and BAS, but depend on SAP Business Application Studio services to function:
| Command |
Description |
MDK: Mobile Application Editor |
Open the Mobile Application Editor |
MDK: Create MDK UI |
Create MDK UI using the project wizard |
MDK: Open Service Center As an Editor |
Open the Service Center to add services to the project |
VS Code-Only Commands
The following commands are available only in Visual Studio Code (not in SAP Business Application Studio):
| Command |
Description |
MDK: Create Project with Wizard |
Create a new MDK project using the guided wizard |
MDK: Import iOS Provision Profile |
Import an iOS provisioning profile for device deployment (macOS only) |
MDK: Attach Source Map |
Attach source maps for debugging (macOS only) |
MDK: Set Default iOS Simulator |
Select the default iOS simulator for debugging (macOS only) |
MDK: Set Default Android Simulator |
Select the default Android simulator for debugging |
MDK: Update MDK Tools |
Update the MDK Tools dependency |
Context Menu Commands
These commands are available by right-clicking on specific files or folders in the Explorer or MDK Project view:
On Application.app (Explorer context menu):
MDK: Build / MDK: Deploy / MDK: Migrate / MDK: Validate Application
MDK: New Annotation Component / MDK: New CIM
On MDK project node (MDK Project Explorer):
Inline toolbar buttons:
- Validate project / Deploy project / Extension points overview
Context menu (right-click):
- Check Base
- Build (also available via keyboard shortcut)
- Download / Upload
- New Folder
- Delete / Rename
- Reveal In File Explorer
On .service files (inside Services folder):
MDK: Sync Service - Refresh OData service metadata
MDK: Validate Service - Validate OData service connectivity
MDK: CSDL Check Service - Check the CSDL definition
On MDK artifact folders (right-click the folder):
| Folder |
Command |
Actions/ |
MDK: New Action |
Pages/ |
MDK: New Page |
Fragments/ |
MDK: New Fragment |
Rules/ |
MDK: New Rule |
Globals/ |
MDK: New Global Variable |
Services/ |
MDK: New Service |
Extensions/ |
MDK: Register Extension Control |
Styles/ |
MDK: New Style File |
i18n/ |
MDK: New i18n File |
Editor Title Bar Commands
- Open Text Editor - Switch from graphical MDK editor to text editor
- Open Graphical Editor - Switch from text editor to graphical MDK editor
Keyboard Shortcuts
| Action |
Windows / Linux |
Mac |
| Build |
Ctrl+Alt+B |
Ctrl+Cmd+B |
Views
The extension contributes an MDK activity bar icon with the following views:
- Project - MDK Project Explorer with dedicated tree view for MDK artifacts, context menus for creating/managing files, and quick actions for build, deploy, and validation
- Migration - Displays pending schema migration changes with options to compare, confirm, or refresh. Hover over a project node to access the
Migrate and Confirm All actions
Debugging
The extension includes a built-in debugger for MDK JavaScript rules running on iOS and Android devices/simulators (VS Code only, not available in SAP Business Application Studio).
Launch Configurations
Add one of the following configurations to your launch.json:
MDK: Launch on iOS - Launch and debug on an iOS simulator
{
"name": "MDK Launch on iOS",
"type": "MDK",
"request": "launch",
"platform": "ios",
"sourceMaps": true,
"watch": true
}
MDK: Attach on iOS - Attach to an already running iOS app
{
"name": "MDK Attach on iOS",
"type": "MDK",
"request": "attach",
"platform": "ios",
"sourceMaps": true,
"watch": false
}
MDK: Launch on Android - Launch and debug on an Android emulator
{
"name": "MDK Launch on Android",
"type": "MDK",
"request": "launch",
"platform": "android",
"sourceMaps": true,
"watch": true
}
MDK: Attach on Android - Attach to an already running Android app
{
"name": "MDK Attach on Android",
"type": "MDK",
"request": "attach",
"platform": "android",
"sourceMaps": true,
"watch": false
}
Debugger Configuration Properties
| Property |
Type |
Default |
Description |
platform |
string |
- |
Target platform (ios or android) |
sourceMaps |
boolean |
true |
Use JavaScript source maps |
watch |
boolean |
true (launch) / false (attach) |
Reconnect on file change |
appRoot |
string |
- |
NativeScript project path for the MDK client app |
stopOnEntry |
boolean |
false |
Stop on the first line after launch |
noDebug |
boolean |
false |
Launch without debugging |
connectionTimeout |
number |
0 (launch) / 15 (attach) |
Seconds to wait for the backend server |
incrementalBundle |
boolean |
true |
Use incremental bundle mode (launch only) |
diagnosticLogging |
boolean |
false |
Log adapter diagnostic info to the console |
tnsArgs |
array |
[] |
Additional arguments for the NativeScript CLI |
tnsOutput |
string |
- |
Path to file where NativeScript CLI output is redirected |
sourceMapPathOverrides |
object |
- |
Mappings for rewriting source file locations |
Getting Started
- Install the Extension: Search for "SAP Mobile Development Kit Editor" in VS Code Extensions, or use it in SAP Business Application Studio where it comes pre-installed
- Open or Create an MDK Project: Open a folder containing an MDK project or create a new one
- Configure Settings: Set your preferred platform target and editor options
- Start Developing: Use the MDK Project Explorer to create pages, actions, and rules
Configuration
Configure the extension through VS Code Settings (File > Preferences > Settings) or in SAP Business Application Studio via the settings editor. Search for mdk to find all available settings.
General
| Setting |
Type |
Default |
Description |
mdk.defaultEditor |
string |
MDK Editor |
Default editor for MDK files. Options: MDK Editor, Text Editor |
mdk.platform |
string |
iOS & Android |
Target platform. Options: iOS & Android, iOS, Android, None |
mdk.showFeatures |
string |
Current Schema |
Show features based on application schema version or show all. Options: Current Schema, Show All |
mdk.logLevel |
string |
info |
Logging verbosity for the log file |
Build
| Setting |
Type |
Default |
Description |
mdk.autoBundle |
boolean |
false |
Trigger bundle build task when an MDK file is saved without validation errors |
mdk.validateBeforeBundle |
boolean |
true |
Validate the application before the bundle starts |
mdk.stopBundleOnValidationError |
boolean |
false |
Stop bundle task when validation errors are found |
mdk.bundlerExternals |
array |
- |
External components for the MDK bundler tool |
mdk.createUploadBundleZip |
boolean |
false |
Create uploadBundle.zip in the build output for manual Mobile Services deployment |
Deployment
| Setting |
Type |
Default |
Description |
mdk.mobileservice |
object |
- |
Mobile Services connection settings (adminAPI, appId) |
mdk.extensionDeployment |
string |
Sync Base & Build |
Auto triggers in extension project deployment. Options: None, Sync Base, Build, Sync Base & Build |
mdk.baseDeployment |
string |
Build |
Auto triggers in base project deployment. Options: None, Build, Active, Build & Active |
mdk.deploymentForWindowsClients |
boolean |
false |
Show Windows deployment option (SAP service & Asset Manager only) |
Validation
| Setting |
Type |
Default |
Description |
mdk.showWarnings |
boolean |
false |
Show warnings in validation results |
mdk.ignoredFiles |
array |
["*.xml", "jsconfig.json", ...] |
File name patterns ignored when checking for unused files |
mdk.extensionsPath |
string |
extensions |
Extensions path of the MDK project for checking unused files |
Service
| Setting |
Type |
Default |
Description |
mdk.serviceMetadataExpiredDays |
number |
7 |
Days before prompting to refresh service metadata. 0 = expire immediately, negative = never expire |
Debug (VS Code only)
| Setting |
Type |
Default |
Description |
mdk.debugAppRoot |
string |
"" |
Folder path for the NativeScript project of the debugged MDK client app |
mdk.bundleToAppRoot |
boolean |
true |
Copy bundle output to mdk.debugAppRoot after build |
mdk.provisionProfile |
string |
"" |
Provisioning profile name for codesigning the iOS app on device |
mdk.defaultSimulator |
string |
"" |
Default iOS simulator ID |
mdk.defaultAndroidSimulator |
string |
"" |
Default Android simulator ID |
nativescript.tnsPath |
string |
tns |
Path to the NativeScript CLI executable |
Editor UI
| Setting |
Type |
Default |
Description |
mdk.i18n |
object |
- |
i18n Editor settings (displayLanguages, showMissingKeyOnly) |
mdk.uieditor |
object |
- |
Page/Fragment Editor layout settings |
mdk.goToCodeToggleInSplitView |
boolean |
true |
Toggle between code and graphical editor in split view |
mdk.favoritesTemplates |
object |
- |
MDK Wizard favorites templates |
Project Explorer
| Setting |
Type |
Default |
Description |
mdk.showMergemap |
boolean |
false |
Show mergemap files in the MDK Project Explorer |
mdk.showBase |
boolean |
false |
Show base files in the MDK Project Explorer |
mdk.showExtensionPoint |
boolean |
false |
Show extendable controls in the MDK Project Explorer |
mdk.referenceApplications |
array |
[] |
References to other dependent applications (name, path, comp) |
Requirements
- Visual Studio Code: Version 1.105.0 or higher, or SAP Business Application Studio
- Node.js: Required for building and deploying applications
- SAP Mobile Services: For deployment and mobile app management (optional for local development)
Documentation
Tutorials & Learning Resources
Getting Started
Advanced Topics
Extension Development
This extension provides:
- Custom Language: MDK metadata language with JSON-based syntax
- Custom Editors: WebView-based visual editors for MDK artifacts
- Task Provider: MDK build task integration
- Debugger: JavaScript rule debugging support (VS Code only)
- Tree Views: Specialized project explorer and migration views
Support & Feedback
- Issues: Report bugs and feature requests through your organization's issue tracking system
- Documentation: Find comprehensive help on the SAP Help Portal
- Community: Connect with other MDK developers through SAP Community
Release Notes
See the marketplace page for release history and updates.
License
This extension is licensed under the SAP Developer License Agreement. See the LICENSE.txt file included with the extension for full license information.
SAP Mobile Development Kit - Build enterprise mobile applications with a unified, metadata-driven approach.