# Fabric Tools VS Code Extension - Complete Installation & Usage Guide
**Version:** 2.3.0
**Last Updated:** February 2026
---
## Table of Contents
1. [Prerequisites](#1-prerequisites)
2. [Installation Methods](#2-installation-methods)
3. [Initial Configuration](#3-initial-configuration)
4. [Authentication Setup](#4-authentication-setup)
5. [Testing All Features](#5-testing-all-features)
6. [VS Code Profiles Integration](#6-vs-code-profiles-integration)
7. [Multi-Client & Team Usage](#7-multi-client--team-usage)
8. [Troubleshooting](#8-troubleshooting)
9. [Uninstallation](#9-uninstallation)
---
## 1. Prerequisites
### Required Software
| Software | Minimum Version | Download |
|----------|-----------------|----------|
| VS Code | 1.85.0+ | https://code.visualstudio.com/ |
| Node.js | 18.0.0+ | https://nodejs.org/ |
| npm | 9.0.0+ | (included with Node.js) |
| Git | 2.30.0+ | https://git-scm.com/ |
### Required Accounts
| Account | Purpose | Sign Up |
|---------|---------|---------|
| Microsoft Entra ID (Azure AD) | Authentication | https://portal.azure.com |
| Microsoft Fabric | Data platform access | https://fabric.microsoft.com |
| Fabric Workspace | At least one workspace with items | Created in Fabric portal |
### Verify Prerequisites
Open a terminal and run:
```bash
# Check Node.js version (need 18+)
node --version
# Check npm version (need 9+)
npm --version
# Check VS Code version (need 1.85+)
code --version
# Check Git version
git --version
```
**Expected output example:**
```
v20.10.0
10.2.0
1.86.0
2.43.0
```
---
## 2. Installation Methods
### Method A: Install from Source (Development)
This is the recommended method for testing and development.
#### Step 1: Extract the Extension
```bash
# Create a directory for the extension
mkdir -p ~/vscode-extensions
cd ~/vscode-extensions
# If you have the zip file:
unzip fabric-vscode-extension.zip -d fabric-tools
# Or if cloning from a repository:
# git clone <repository-url> fabric-tools
cd fabric-tools
```
#### Step 2: Install Dependencies
```bash
# Install all npm packages
npm install
# This installs:
# - @types/vscode (VS Code API types)
# - @types/node (Node.js types)
# - typescript (TypeScript compiler)
# - @vscode/vsce (Extension packaging tool)
```
**Expected output:**
```
added 45 packages in 12s
```
#### Step 3: Compile TypeScript
```bash
# Compile the extension
npm run compile
# This creates the 'dist' folder with compiled JavaScript
```
**Expected output:**
```
> fabric-tools@2.3.0 compile
> tsc -p ./
```
No errors = success!
#### Step 4: Run in Development Mode
```bash
# Open the extension folder in VS Code
code .
```
Then in VS Code:
1. Press `F5` (or `Run > Start Debugging`)
2. Select "VS Code Extension Development Host" if prompted
3. A new VS Code window opens with the extension loaded
#### Step 5: Verify Installation
In the new VS Code window:
1. Open the Activity Bar (left sidebar)
2. Look for the **Fabric Tools** icon (database icon)
3. You should see 18 tree views in the sidebar
---
### Method B: Install from VSIX Package
#### Step 1: Build the VSIX Package
```bash
cd ~/vscode-extensions/fabric-tools
# Package the extension
npx vsce package
# This creates: fabric-tools-2.3.0.vsix
```
**Expected output:**
```
DONE Packaged: /path/to/fabric-tools-2.3.0.vsix (45 files, 250KB)
```
#### Step 2: Install the VSIX
**Option A: Command Line**
```bash
code --install-extension fabric-tools-2.3.0.vsix
```
**Option B: VS Code UI**
1. Open VS Code
2. Press `Ctrl+Shift+X` (Extensions view)
3. Click the `...` menu (top right of Extensions panel)
4. Select "Install from VSIX..."
5. Browse to and select `fabric-tools-2.3.0.vsix`
6. Click "Install"
7. Reload VS Code when prompted
#### Step 3: Verify Installation
1. Press `Ctrl+Shift+X` to open Extensions
2. Search for "Fabric Tools"
3. Verify it shows as installed and enabled
---
### Method C: Install from Marketplace (Future)
Once published to the VS Code Marketplace:
```bash
code --install-extension your-publisher.fabric-tools
```
Or search "Fabric Tools" in the VS Code Extensions view.
---
## 3. Initial Configuration
### Extension Settings
Open VS Code Settings (`Ctrl+,`) and search for "Fabric" to see all settings:
| Setting | Default | Description |
|---------|---------|-------------|
| `fabric.defaultWorkspaceId` | `""` | Default workspace to load on startup |
| `fabric.autoRefresh` | `true` | Auto-refresh tree views |
| `fabric.refreshInterval` | `300` | Refresh interval in seconds |
| `fabric.showNotifications` | `true` | Show operation notifications |
#### Configure via settings.json
Press `Ctrl+Shift+P` > "Preferences: Open Settings (JSON)" and add:
```json
{
"fabric.defaultWorkspaceId": "your-workspace-id-here",
"fabric.autoRefresh": true,
"fabric.refreshInterval": 300,
"fabric.showNotifications": true
}
```
### Workspace ID Format
Workspace IDs are UUIDs in this format:
```
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```
**How to find your Workspace ID:**
1. Go to https://fabric.microsoft.com
2. Open your workspace
3. Look at the URL: `https://app.fabric.microsoft.com/groups/YOUR-WORKSPACE-ID/...`
4. Copy the UUID after `/groups/`
---
## 4. Authentication Setup
### Step 1: Sign In
1. Press `Ctrl+Shift+P` to open Command Palette
2. Type "Fabric: Sign In"
3. Press Enter
4. A browser window opens for Microsoft authentication
5. Sign in with your Microsoft account that has Fabric access
6. Authorize the application
7. Return to VS Code
**Success indicator:** You'll see "Signed in to Microsoft Fabric" notification.
### Step 2: Select a Workspace
1. Press `Ctrl+Shift+P`
2. Type "Fabric: Select Workspace"
3. Enter your Workspace ID (UUID format)
4. Press Enter
**Success indicator:** All tree views refresh and show your workspace items.
### Authentication Troubleshooting
| Issue | Solution |
|-------|----------|
| "Not authenticated" error | Run "Fabric: Sign In" again |
| Token expired | Sign out and sign in again |
| Wrong tenant | Ensure you're signing in with the correct Microsoft account |
| No workspaces visible | Verify your account has Fabric access |
### Sign Out
1. Press `Ctrl+Shift+P`
2. Type "Fabric: Sign Out"
3. Press Enter
---
## 5. Testing All Features
### 5.1 Lakehouse Explorer
**Location:** Fabric Tools sidebar > Lakehouses
**Test Steps:**
1. Expand a Lakehouse item
2. View Tables, Files, and Shortcuts folders
3. Right-click a table > "Preview Data"
4. Right-click Files > "Upload File"
5. Right-click a table > "Generate SELECT Statement"
**Commands to test:**
- `Fabric: Refresh Lakehouses`
- `Fabric: Create Lakehouse`
- `Fabric: Delete Lakehouse`
---
### 5.2 Data Pipelines
**Location:** Fabric Tools sidebar > Pipelines
**Test Steps:**
1. Expand a Pipeline to see Activities
2. Right-click pipeline > "Run Pipeline"
3. View run history in the Monitoring section
4. Right-click > "View Pipeline JSON"
**Commands to test:**
- `Fabric: Create Pipeline`
- `Fabric: Run Pipeline`
- `Fabric: View Pipeline Runs`
- `Fabric: Cancel Pipeline Run`
---
### 5.3 Notebooks
**Location:** Fabric Tools sidebar > Notebooks
**Test Steps:**
1. Click a notebook to open it
2. Right-click > "Run All Cells"
3. Right-click > "Export as .ipynb"
4. Check supported languages (PySpark, Scala, SQL, R)
**Commands to test:**
- `Fabric: Create Notebook`
- `Fabric: Run Notebook`
- `Fabric: Attach to Lakehouse`
---
### 5.4 SQL Analytics (Warehouse)
**Location:** Fabric Tools sidebar > Warehouses
**Test Steps:**
1. Expand a Warehouse to see Schemas
2. Expand Schema to see Tables/Views
3. Right-click table > "Preview Data" (SELECT TOP 100)
4. Right-click table > "Generate SELECT"
5. Right-click stored procedure > "View Definition"
**Commands to test:**
- `Fabric: Create Warehouse`
- `Fabric: Run SQL Query`
- `Fabric: View Query History`
---
### 5.5 Monitoring Hub
**Location:** Fabric Tools sidebar > Monitoring
**Test Steps:**
1. View Active Queries section
2. View Recent Activities section
3. Click refresh to update
4. Right-click a query > "Cancel Query"
**Commands to test:**
- `Fabric: View Active Queries`
- `Fabric: View Refresh History`
- `Fabric: Cancel Query`
---
### 5.6 Deployment Pipelines
**Location:** Fabric Tools sidebar > Deployment
**Test Steps:**
1. View deployment pipeline stages (Dev → Test → Prod)
2. Right-click stage > "Deploy to Next Stage"
3. View deployment history
4. Compare items between stages
**Commands to test:**
- `Fabric: Create Deployment Pipeline`
- `Fabric: Deploy Stage`
- `Fabric: View Deployment History`
---
### 5.7 Scheduling Manager
**Location:** Fabric Tools sidebar > Schedules
**Test Steps:**
1. View scheduled refreshes for items
2. Right-click > "Edit Schedule"
3. Right-click > "Disable Schedule"
4. Create a new schedule
**Commands to test:**
- `Fabric: Create Schedule`
- `Fabric: Edit Schedule`
- `Fabric: Enable/Disable Schedule`
---
### 5.8 Data Lineage
**Location:** Fabric Tools sidebar > Lineage
**Test Steps:**
1. Click an item to view lineage
2. See upstream dependencies
3. See downstream dependencies
4. Click to navigate to related items
**Commands to test:**
- `Fabric: View Lineage`
- `Fabric: Refresh Lineage`
---
### 5.9 Git Integration
**Location:** Fabric Tools sidebar > Git
**Test Steps:**
1. View connected repositories
2. See sync status (Synced/Pending/Conflict)
3. Right-click > "Commit Changes"
4. Right-click > "Pull from Remote"
5. Right-click > "Push to Remote"
**Commands to test:**
- `Fabric: Connect Git Repository`
- `Fabric: Commit Changes`
- `Fabric: Sync with Git`
---
### 5.10 Capacity Administration
**Location:** Fabric Tools sidebar > Capacities
**Test Steps:**
1. View capacity metrics (CPU, Memory)
2. See capacity state (Active/Paused)
3. View workloads assigned to capacity
4. Right-click > "Scale Capacity"
5. Right-click > "Pause/Resume Capacity"
**Commands to test:**
- `Fabric: View Capacity Metrics`
- `Fabric: Scale Capacity`
- `Fabric: Pause Capacity`
- `Fabric: Resume Capacity`
---
### 5.11 Eventhouses (KQL Databases)
**Location:** Fabric Tools sidebar > Eventhouses
**Test Steps:**
1. Expand Eventhouse to see KQL databases
2. View tables in each database
3. Right-click table > "Query Table"
4. Right-click > "View Schema"
**Commands to test:**
- `Fabric: Create Eventhouse`
- `Fabric: Run KQL Query`
- `Fabric: View Eventhouse Metrics`
---
### 5.12 Spark Job Definitions
**Location:** Fabric Tools sidebar > Spark Jobs
**Test Steps:**
1. View Spark job definitions
2. See job configuration (main file, arguments)
3. Right-click > "Run Job"
4. View job run history
**Commands to test:**
- `Fabric: Create Spark Job`
- `Fabric: Run Spark Job`
- `Fabric: View Spark Job Runs`
---
### 5.13 Mirrored Databases
**Location:** Fabric Tools sidebar > Mirrored DBs
**Test Steps:**
1. View mirrored database connections
2. See sync status and lag
3. View replicated tables
4. Right-click > "View Sync Status"
**Commands to test:**
- `Fabric: Create Mirrored Database`
- `Fabric: Start/Stop Mirroring`
- `Fabric: View Mirror Status`
---
### 5.14 ML Models
**Location:** Fabric Tools sidebar > ML Models
**Test Steps:**
1. View registered models
2. Expand model to see versions
3. See model stage (Development/Staging/Production)
4. View model metadata and metrics
5. Right-click > "Deploy Model"
**Commands to test:**
- `Fabric: Register Model`
- `Fabric: Promote Model Version`
- `Fabric: View Model Metrics`
---
### 5.15 Data Activator (Reflex)
**Location:** Fabric Tools sidebar > Data Activator
**Test Steps:**
1. View Reflex items
2. Expand to see triggers
3. View trigger conditions
4. Right-click trigger > "Enable/Disable"
5. View trigger history
**Commands to test:**
- `Fabric: Create Reflex`
- `Fabric: Create Trigger`
- `Fabric: View Trigger History`
---
### 5.16 Dataflows Gen2
**Location:** Fabric Tools sidebar > Dataflows
**Test Steps:**
1. View Dataflow items
2. **Double-click to open Visual Designer**
3. In designer: Add data source
4. Add transformations (Filter, Merge, Aggregate)
5. Configure output destination
6. Click "Run" to execute
**Designer Features:**
- Drag-and-drop query building
- Visual transformation pipeline
- Data preview
- Expression builder
**Commands to test:**
- `Fabric: Create Dataflow`
- `Fabric: Open Dataflow Designer`
- `Fabric: Run Dataflow`
---
### 5.17 Real-Time Hub (Eventstreams)
**Location:** Fabric Tools sidebar > Real-Time Hub
**Test Steps:**
1. View Eventstream items
2. **Double-click to open Eventstream Designer**
3. In designer: Add source (Event Hub, IoT Hub, etc.)
4. Add transformations (Filter, Aggregate)
5. Add destinations (KQL Database, Lakehouse)
6. Start/Stop stream
**Designer Features:**
- Visual stream topology
- Real-time metrics
- Source/destination configuration
- Stream monitoring
**Commands to test:**
- `Fabric: Create Eventstream`
- `Fabric: Open Eventstream Designer`
- `Fabric: Start/Stop Eventstream`
---
### 5.18 Data Wrangler
**Location:** Fabric Tools sidebar > Data Wrangler
**Test Steps:**
1. View Data Wrangler sessions
2. **Double-click to open Data Wrangler**
3. In wrangler: View data grid
4. Apply transformations (clean, filter, derive)
5. View column statistics
6. Export as code (PySpark/Pandas)
**Wrangler Features:**
- Interactive data grid
- Column profiling
- One-click transformations
- Code generation
**Commands to test:**
- `Fabric: Open Data Wrangler`
- `Fabric: Apply Transformation`
- `Fabric: Export Wrangler Code`
---
### 5.19 Run All Tests
To verify all features work:
```bash
cd ~/vscode-extensions/fabric-tools
# Run feature tests
node scripts/test-features.js
# Run security tests
node scripts/test-security.js
```
**Expected output:**
```
Feature Tests: 50/50 PASS
Security Tests: 34/34 PASS
```
---
## 6. VS Code Profiles Integration
VS Code Profiles allow you to have different configurations for different projects or clients.
### Creating a Fabric Profile
1. Click the gear icon (bottom left) > "Profiles"
2. Click "Create Profile..."
3. Name it "Fabric Development"
4. Choose what to include:
- ✅ Settings
- ✅ Extensions
- ✅ UI State
- ✅ Keybindings
### Profile-Specific Settings
Each profile can have different Fabric settings:
**Profile: "Client A - Production"**
```json
{
"fabric.defaultWorkspaceId": "client-a-prod-workspace-id",
"fabric.autoRefresh": false,
"fabric.showNotifications": true
}
```
**Profile: "Client B - Development"**
```json
{
"fabric.defaultWorkspaceId": "client-b-dev-workspace-id",
"fabric.autoRefresh": true,
"fabric.refreshInterval": 60
}
```
### Switching Profiles
1. Click the gear icon > "Profiles"
2. Select the profile you want
3. VS Code reloads with that profile's settings
**Keyboard shortcut:** `Ctrl+Shift+P` > "Profiles: Switch Profile"
### Exporting/Importing Profiles
**Export:**
1. Gear > Profiles > Export Profile
2. Save as `.code-profile` file
**Import:**
1. Gear > Profiles > Import Profile
2. Select the `.code-profile` file
### Profile Recommendations by Use Case
| Use Case | Profile Settings |
|----------|------------------|
| Development | `autoRefresh: true`, dev workspace |
| Production Monitoring | `autoRefresh: false`, prod workspace, notifications on |
| Demo/Presentation | Large font, specific workspace with sample data |
| Multi-tenant Consulting | Separate profile per client |
---
## 7. Multi-Client & Team Usage
### Scenario 1: Multiple Fabric Tenants
If you work with multiple organizations (consulting, multi-tenant):
#### Option A: Multiple Microsoft Accounts
1. Sign out of current account
2. Sign in with different Microsoft account
3. Select that tenant's workspace
**Limitation:** Only one account active at a time.
#### Option B: VS Code Profiles (Recommended)
Create a profile for each client:
```
Profile: "Acme Corp"
├── Settings: Acme's workspace ID
├── Signed in as: user@acmecorp.com
└── Extensions: Fabric Tools enabled
Profile: "Contoso Ltd"
├── Settings: Contoso's workspace ID
├── Signed in as: consultant@contoso.com
└── Extensions: Fabric Tools enabled
```
#### Option C: Multiple VS Code Windows
1. Open VS Code
2. Sign in as Account A, select Workspace A
3. File > New Window
4. In new window: Sign out, Sign in as Account B, select Workspace B
Both windows operate independently.
### Scenario 2: Team Sharing Configurations
#### Sharing Workspace Settings
Create a `.vscode/settings.json` in your team's repository:
```json
{
"fabric.defaultWorkspaceId": "team-shared-workspace-id",
"fabric.autoRefresh": true,
"fabric.refreshInterval": 300
}
```
Team members clone the repo and get the same settings.
#### Sharing Extension Recommendations
Create `.vscode/extensions.json`:
```json
{
"recommendations": [
"your-publisher.fabric-tools",
"ms-python.python",
"ms-toolsai.jupyter"
]
}
```
When team members open the project, VS Code suggests installing these extensions.
### Scenario 3: CI/CD Integration
The extension can be used in automated pipelines:
#### Using VS Code CLI
```bash
# Install extension
code --install-extension fabric-tools-2.3.0.vsix
# Run extension commands (headless)
code --command "fabric.runPipeline" --args '{"pipelineId": "xxx"}'
```
#### Environment Variables
Set credentials via environment variables for automation:
```bash
export FABRIC_TENANT_ID="your-tenant-id"
export FABRIC_CLIENT_ID="your-client-id"
export FABRIC_CLIENT_SECRET="your-client-secret"
```
### Scenario 4: Offline/Air-Gapped Environments
For environments without internet access:
1. **Build VSIX on connected machine:**
```bash
npm install
npm run compile
npx vsce package
```
2. **Transfer files:**
- `fabric-tools-2.3.0.vsix`
- All `node_modules` (if needed for development)
3. **Install on air-gapped machine:**
```bash
code --install-extension fabric-tools-2.3.0.vsix
```
**Note:** Authentication requires network access to Microsoft Entra ID.
---
## 8. Troubleshooting
### Common Issues
#### Issue: Extension not showing in sidebar
**Symptoms:** No "Fabric Tools" icon in Activity Bar
**Solutions:**
1. Reload VS Code: `Ctrl+Shift+P` > "Developer: Reload Window"
2. Check extension is enabled: `Ctrl+Shift+X` > Search "Fabric" > Ensure "Enable" is shown
3. Check for errors: `Ctrl+Shift+P` > "Developer: Toggle Developer Tools" > Console tab
#### Issue: "Not authenticated" error
**Symptoms:** All operations fail with authentication error
**Solutions:**
1. Run "Fabric: Sign In" again
2. Check token hasn't expired
3. Verify Microsoft account has Fabric license
4. Check network connectivity to `login.microsoftonline.com`
#### Issue: Workspace items not loading
**Symptoms:** Tree views show empty or loading forever
**Solutions:**
1. Verify workspace ID is correct (UUID format)
2. Check you have permissions in that workspace
3. Run "Fabric: Refresh" on the specific view
4. Check Output panel: View > Output > Select "Fabric Tools"
#### Issue: Commands not found
**Symptoms:** "Command not found" when running Fabric commands
**Solutions:**
1. Ensure extension is activated (open a tree view)
2. Reload VS Code
3. Re-install the extension
#### Issue: Visual designers not opening
**Symptoms:** Double-clicking Dataflow/Eventstream doesn't open designer
**Solutions:**
1. Check webview is allowed: Settings > Search "webview"
2. Check for CSP errors in Developer Tools
3. Try: `Ctrl+Shift+P` > "Fabric: Open Dataflow Designer"
### Viewing Logs
**Extension Output:**
1. View > Output (`Ctrl+Shift+U`)
2. Select "Fabric Tools" from dropdown
3. View logs and errors
**Security Audit Log:**
1. View > Output
2. Select "Fabric Security" from dropdown
3. View security events
**Developer Console:**
1. Help > Toggle Developer Tools
2. Click "Console" tab
3. Filter by "[Fabric]"
### Reporting Bugs
When reporting issues, include:
1. VS Code version: `code --version`
2. Extension version: Check in Extensions view
3. OS and version
4. Steps to reproduce
5. Error messages from Output panel
6. Screenshots if applicable
---
## 9. Uninstallation
### Remove Extension
**Option A: VS Code UI**
1. `Ctrl+Shift+X` (Extensions)
2. Search "Fabric Tools"
3. Click "Uninstall"
4. Reload VS Code
**Option B: Command Line**
```bash
code --uninstall-extension your-publisher.fabric-tools
```
### Remove Extension Data
The extension stores data in:
**Windows:**
```
%APPDATA%\Code\User\globalStorage\your-publisher.fabric-tools\
```
**macOS:**
```
~/Library/Application Support/Code/User/globalStorage/your-publisher.fabric-tools/
```
**Linux:**
```
~/.config/Code/User/globalStorage/your-publisher.fabric-tools/
```
To completely remove:
```bash
# Linux/macOS
rm -rf ~/.config/Code/User/globalStorage/your-publisher.fabric-tools/
# Windows (PowerShell)
Remove-Item -Recurse "$env:APPDATA\Code\User\globalStorage\your-publisher.fabric-tools"
```
### Remove Cached Credentials
Credentials are stored in OS keychain:
**Windows:** Credential Manager > Windows Credentials > Generic Credentials > Look for "fabric" entries
**macOS:** Keychain Access > Search "fabric" > Delete entries
**Linux:** Use `secret-tool` or your keyring manager
---
## Quick Reference Card
### Essential Commands
| Action | Command |
|--------|---------|
| Sign In | `Ctrl+Shift+P` > "Fabric: Sign In" |
| Sign Out | `Ctrl+Shift+P` > "Fabric: Sign Out" |
| Select Workspace | `Ctrl+Shift+P` > "Fabric: Select Workspace" |
| Refresh All | `Ctrl+Shift+P` > "Fabric: Refresh All" |
| Open Settings | `Ctrl+,` > Search "Fabric" |
### Keyboard Shortcuts (Customizable)
| Action | Default Shortcut |
|--------|------------------|
| Refresh Current View | `Ctrl+Shift+R` |
| Run Pipeline | `Ctrl+Shift+F5` |
| Run Notebook | `Ctrl+Shift+Enter` |
### Context Menu Actions
Right-click items in tree views for context-specific actions:
- **Lakehouse:** Preview, Upload, Delete
- **Pipeline:** Run, View Runs, Edit
- **Notebook:** Run, Export, Attach
- **Table:** Preview, Generate SQL, View Schema
---
## Support & Resources
- **Documentation:** See `FEATURE_SUMMARY.md` in extension folder
- **Security:** See `SECURITY.md` for vulnerability reporting
- **Changelog:** See `CHANGELOG.md` for version history
- **Microsoft Fabric Docs:** https://learn.microsoft.com/fabric/
---
*This guide covers Fabric Tools Extension v2.3.0. Features may vary in future versions.*