Skip to content

version 0.3.0

Choose a tag to compare

@sinlyu sinlyu released this 07 Jul 15:43
· 15 commits to main since this release

[0.3.0] - 2025-01-07

๐Ÿš€ Major Features

  • โœ… Stable API Implementation: No more development mode required!
    • Replaced proposed APIs with stable VS Code APIs - extension now works without --enable-proposed-api flag
    • WorkspaceSymbolProvider: Enables Ctrl+T symbol search across entire WebDAV workspace
    • DocumentSymbolProvider: Enables Ctrl+Shift+O document outline and breadcrumb navigation
    • CustomSearchProvider: Comprehensive QuickPick search interface for files, text, and symbols
    • Removed dependency on experimental fileSearchProvider and textSearchProvider APIs

๐Ÿ” Enhanced Search Capabilities

  • ๐ŸŽฏ Symbol Search Integration: Professional IDE-level navigation

    • Global Symbol Search (Ctrl+T): Find PHP classes, functions, methods, constants across workspace
    • Document Outline (Ctrl+Shift+O): Navigate within files with hierarchical symbol view
    • Multi-language Support: PHP, JavaScript, TypeScript, JSON symbol extraction
    • Intelligent Symbol Detection: Recognizes classes, interfaces, traits, methods, properties, constants
    • Real-time Filtering: Live search results as you type
  • ๐Ÿ“‚ Advanced File Operations: Comprehensive search commands

    • File Search Command: WebDAV: Search Files in Workspace - Find files by name with fuzzy matching
    • Text Search Command: WebDAV: Search Text in Files - Full-text search across WebDAV files
    • Symbol Search Command: WebDAV: Search PHP Symbols - Find specific PHP symbols with context
    • QuickPick Interface: Modern VS Code native search UI with previews and navigation

๐Ÿ—๏ธ Architecture Improvements

  • ๐Ÿ“ฆ New Provider System: Clean separation of concerns
    • WorkspaceSymbolProvider (workspaceSymbolProvider.ts): Cross-workspace symbol indexing
    • DocumentSymbolProvider (documentSymbolProvider.ts): Per-document symbol extraction with hierarchy
    • CustomSearchProvider (customSearchProvider.ts): Fallback search UI with comprehensive functionality
    • Maintained Legacy Providers: Proposed API providers kept for future use (commented out)

๐Ÿ”ง Technical Enhancements

  • ๐Ÿšซ Removed Proposed API Dependencies: Production-ready compatibility
    • Eliminated enabledApiProposals from package.json - no special VS Code configuration needed
    • Graceful Provider Registration: Stable APIs register successfully, proposed APIs safely disabled
    • Backward Compatible: All existing functionality preserved through stable API alternatives
    • Future-Proof: Legacy code maintained for easy re-enabling when APIs stabilize

๐Ÿ“ Developer Experience

  • ๐ŸŽฎ New Commands Available: Enhanced productivity tools
    • automate-webdav.searchFiles - Interactive file search
    • automate-webdav.searchText - Cross-file text search
    • automate-webdav.searchSymbols - PHP symbol finder
    • All commands accessible via Command Palette (Ctrl+Shift+P)

๐Ÿ› Bug Fixes

  • ๐Ÿ”— TypeScript Compilation: Resolved optional chaining issues
    • Fixed selected.description possibly undefined error in CustomSearchProvider
    • Enhanced type safety with proper null checking

๐Ÿ”„ Breaking Changes

  • Proposed API Removal: Extensions using proposed APIs will need updates
    • fileSearchProvider and textSearchProvider registration disabled
    • Functionality maintained through stable API alternatives
    • Migration Path: Use new search commands or enable development mode for proposed APIs

โšก Performance Improvements

  • Optimized Symbol Extraction: Faster PHP analysis
  • Efficient File Indexing: Reduced memory footprint for large workspaces
  • Smart Caching: Improved response times for repeated searches

๐ŸŽฏ User Impact

  • ๐Ÿ“ฑ Universal Compatibility: Works in all VS Code environments
    • VS Code Desktop, VS Code Server, GitHub Codespaces, vscode.dev
    • No special configuration or flags required
    • Consistent experience across all platforms