- Project File Generation: All project file generation functions tested and working
- C# (.csproj) generation: ✅ PASSED
- F# (.fsproj) generation: ✅ PASSED
- VB.NET (.vbproj) generation: ✅ PASSED
- TypeScript Compilation: ✅ PASSED (no errors)
- Extension Packaging: ✅ PASSED (VSIX created successfully)
- Package Compatibility Checking: ✅ PASSED
- Version Suggestion Logic: ✅ PASSED
- Alternative Package Detection: ✅ PASSED
- Transitive Dependency Checking: ✅ PASSED
- Framework Upgrade Suggestions: ✅ PASSED
To complete testing, install the packaged extension in VS Code and verify:
- Open a workspace with .NET source files (.cs, .fs, .vb)
- Create a new .cs file
- Expected: Extension should detect the change and update project files
- Verify: Check console output for "DotNET Build Buddy: Detected change" messages
- In a workspace with mixed .NET files, run command: "DotNET Build Buddy: Update Project Files"
- Expected:
- .csproj file created for C# files
- .fsproj file created for F# files
- .vbproj file created for VB.NET files
- Verify: Project files contain correct structure and file references
- Run command: "DotNET Build Buddy: Generate Solution File"
- Expected: Solution.sln file created with all project references
- Verify: Solution file contains proper project GUIDs and configurations
- With auto-update enabled, add/remove/modify .NET source files
- Expected: Project files automatically updated after 1-second debounce
- Verify: Project files reflect current source file structure
- Test disabling auto-update in settings
- Test custom watch patterns
- Test exclude patterns (bin/, obj/ folders)
- Expected: Extension respects all configuration settings
- Create a project with incompatible NuGet packages
- Expected:
- Inline diagnostics appear with errors/warnings
- Tooltips show detailed information
- Suggestions for versions and alternatives appear
- Verify: Check diagnostics panel and inline markers
- Use an old version of a package incompatible with current framework
- Expected: Extension suggests correct version
- Verify: Check tooltip and error messages
- Use an incompatible package (e.g., EntityFramework with .NET 8)
- Expected: Extension suggests alternative (Microsoft.EntityFrameworkCore)
- Verify: Check error message and suggestions
- Use a package with incompatible transitive dependencies
- Expected: Extension detects and reports transitive dependency issues
- Verify: Check error messages for transitive dependency warnings
- Use .NET Core 3.1 with packages that all support .NET 8
- Expected: Extension suggests framework upgrade
- Verify: Check notification message with upgrade suggestion
-
Install the packaged extension:
code --install-extension dotnet-build-buddy-1.0.1.vsix
-
Open a workspace containing .NET source files
-
The extension should activate automatically when .NET files are detected
Use the included test-workspace/ directory which contains:
src/Program.cs- C# source filesrc/Calculator.fs- F# source filesrc/Helper.vb- VB.NET source file
When working correctly, the extension will:
- Monitor file changes in real-time
- Generate appropriate project files based on source file types
- Create solution files that reference all projects
- Check NuGet package compatibility
- Provide inline diagnostics and suggestions
- Suggest framework upgrades when appropriate
- Provide user feedback through VS Code notifications
- Log detailed information to the console for debugging
- File change detection works correctly
- Project files are generated correctly for C#, F#, VB.NET
- Solution files are generated with correct structure
- Auto-update works when files are modified
- Configuration settings are respected
- NuGet compatibility checking works
- Inline diagnostics appear correctly
- Version suggestions are accurate
- Alternative packages are suggested correctly
- Transitive dependencies are checked
- Framework upgrade suggestions appear when appropriate
If the extension doesn't work as expected:
- Check the VS Code Developer Console (Help > Toggle Developer Tools)
- Look for "DotNET Build Buddy" log messages
- Verify the extension is activated (check Extensions panel)
- Ensure workspace contains .NET source files for activation
- Check NuGet API connectivity if compatibility checking fails
- Verify configuration settings are correct