Skip to content

Commit 09a8d18

Browse files
committed
� v0.5.0-rc.2: Excel Symbols System + Auto-Save Performance Fix
� ALL 71 TESTS PASSING - Major breakthrough release! ✨ NEW FEATURES: - Excel Power Query Symbols system with auto-installation - Excel.CurrentWorkbook(), Excel.Workbook() IntelliSense support - Power Query Language Server integration with race condition fixes � CRITICAL FIXES: - Auto-save performance crisis resolved (keystroke-level sync eliminated) - Intelligent debouncing based on Excel file size (not .m file size) - Large file handling: 8000ms debounce for 60MB+ Excel files � TEST EXCELLENCE: - 71/71 tests passing across all platforms - VS Code Test Explorer auto-compilation - Eliminated test hangs and file dialog blocking - Comprehensive command registration validation ⚠️ CONFIGURATION WARNING: DO NOT enable VS Code auto-save + Extension auto-watch together Recommended: files.autoSave=off + extension file watching � DOCUMENTATION: - Updated testing notes with performance breakthrough - Configuration best practices documented - Excel symbols installation guide added
1 parent 8e8550a commit 09a8d18

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+5030
-387
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[
2+
{
3+
"name": "Excel.CurrentWorkbook",
4+
"documentation": {
5+
"description": "Returns the contents of the current Excel workbook.",
6+
"longDescription": "Returns tables, named ranges, and dynamic arrays. Unlike Excel.Workbook, it does not return sheets.",
7+
"category": "Accessing data"
8+
},
9+
"functionParameters": [],
10+
"completionItemKind": 3,
11+
"isDataSource": true,
12+
"type": "table"
13+
},
14+
{
15+
"name": "Documentation",
16+
"documentation": {
17+
"description": "Contains properties for function documentation metadata",
18+
"category": "Documentation"
19+
},
20+
"functionParameters": [],
21+
"completionItemKind": 9,
22+
"isDataSource": false,
23+
"type": "record",
24+
"fields": {
25+
"Name": { "type": "text" },
26+
"Description": { "type": "text" },
27+
"Parameters": { "type": "record" }
28+
}
29+
}
30+
31+
]

.vscode/extensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// See http://go.microsoft.com/fwlink/?LinkId=827846
33
// for the documentation about the extensions.json format
44
"recommendations": ["dbaeumer.vscode-eslint", "connor4312.esbuild-problem-matchers", "ms-vscode.extension-test-runner",
5-
"ms-vscode-remote.remote-containers", "ms-vscode.vscode-typescript-next", "esbenp.prettier-vscode", "powerquery.vscode-powerquery", "grapecity.gc-excelviewer"],
5+
"hbenl.vscode-mocha-test-adapter", "ms-vscode-remote.remote-containers", "esbenp.prettier-vscode", "powerquery.vscode-powerquery",
6+
"grapecity.gc-excelviewer"],
67
"unwantedRecommendations": ["ms-vscode.vscode-typescript-tslint-plugin", "ms-vscode.vscode-typescript-tslint"]
78
}

.vscode/settings.json

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"excel-power-query-editor.customBackupPath": "./VSCodeBackups",
1919
"excel-power-query-editor.debugMode": true,
2020
"excel-power-query-editor.watchOffOnDelete": true,
21-
"excel-power-query-editor.sync.debounceMs": 100,
21+
"excel-power-query-editor.sync.debounceMs": 3000, // Fixed: was 100ms causing immediate sync with VS Code auto-save
22+
"excel-power-query-editor.sync.largefile.minDebounceMs": 8000, // For large files like your 60MB one
2223

2324
// Enterprise DevOps Settings
2425
"git.autofetch": true,
@@ -33,11 +34,15 @@
3334
"editor.codeActionsOnSave": {
3435
"source.fixAll.eslint": "explicit"
3536
},
36-
"files.autoSave": "afterDelay",
37-
"files.autoSaveDelay": 1000,
37+
"files.autoSave": "off",
38+
// "files.autoSaveDelay": 1000, // Disabled since autoSave is off
3839

3940
// Test Explorer Settings
4041
"testExplorer.useNativeTesting": true,
42+
"testing.automaticallyOpenPeekView": "failureInVisibleDocument",
43+
"testing.defaultGutterClickAction": "run",
44+
"testing.followRunningTest": true,
45+
"testing.openTesting": "openOnTestStart",
4146
"typescript.preferences.includePackageJsonAutoImports": "on",
4247
"npm.enableRunFromFolder": true,
4348

@@ -57,5 +62,11 @@
5762
"args": ["-l"]
5863
}
5964
},
60-
"terminal.integrated.defaultProfile.windows": "Git Bash"
65+
"terminal.integrated.defaultProfile.windows": "Git Bash",
66+
"testing.automaticallyOpenTestResults": "openOnTestStart",
67+
68+
// Power Query Language Server configuration
69+
"powerquery.client.additionalSymbolsDirectories": [
70+
"c:/DEV/ewc3labs/excel-power-query-editor/.vscode/excel-pq-symbols"
71+
]
6172
}

.vscode/tasks.json

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,15 @@
99
"kind": "test",
1010
"isDefault": true
1111
},
12-
"problemMatcher": []
12+
"presentation": {
13+
"echo": true,
14+
"reveal": "always",
15+
"focus": false,
16+
"panel": "shared",
17+
"showReuseMessage": false,
18+
"clear": true
19+
},
20+
"problemMatcher": "$tsc"
1321
},
1422
{
1523
"label": "Package and Install Extension",
@@ -74,6 +82,21 @@
7482
"clear": false
7583
},
7684
"problemMatcher": []
85+
},
86+
{
87+
"label": "Compile Tests",
88+
"type": "shell",
89+
"command": "npm run compile-tests",
90+
"group": "build",
91+
"presentation": {
92+
"echo": true,
93+
"reveal": "silent",
94+
"focus": false,
95+
"panel": "shared",
96+
"showReuseMessage": false,
97+
"clear": false
98+
},
99+
"problemMatcher": "$tsc"
77100
}
78101
]
79102
}

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,34 @@ _A skunkworks of code, plastic, and canine gaseous emissions_
1515

1616
</div>
1717

18+
## [0.5.0-rc.2] - 2025-07-14
19+
20+
### 🚀 Major Performance & Feature Release
21+
22+
#### Added
23+
- **NEW FEATURE: Excel Power Query Symbols System**
24+
- Complete Excel-specific IntelliSense support (Excel.CurrentWorkbook, Excel.Workbook, etc.)
25+
- Auto-installation with Power Query Language Server integration
26+
- Addresses gap in M Language extension (Power BI/Azure focused)
27+
- Configurable installation scope (workspace/folder/user/off)
28+
29+
#### Fixed
30+
- **CRITICAL: Auto-Save Performance Crisis**
31+
- Resolved VS Code auto-save + file watcher causing keystroke-level sync with large files
32+
- Intelligent debouncing based on Excel file size (not .m file size)
33+
- Large file handling: 3000ms → 8000ms debounce for files >10MB
34+
- **Test Infrastructure Excellence**
35+
- All 71 tests passing across platforms
36+
- Eliminated test hangs from file dialogs and background processes
37+
- Auto-compilation for VS Code Test Explorer
38+
- Robust parameter validation and error handling
39+
40+
#### Changed
41+
- **Configuration Best Practices**
42+
- ⚠️ **WARNING**: DO NOT enable VS Code auto-save + Extension auto-watch simultaneously
43+
- Recommended: `"files.autoSave": "off"` with extension file watching
44+
- Documented optimal performance configuration patterns
45+
1846
## [0.5.0] - 2025-07-11
1947

2048
### Added

0 commit comments

Comments
 (0)