Skip to content

Add support for disabled extensions synchronization (Fixes #143)Add support for disabled extensions synchronization#1455

Open
zuolinayun wants to merge 1 commit intoshanalikhan:masterfrom
zuolinayun:feature/disabled-extensions-sync
Open

Add support for disabled extensions synchronization (Fixes #143)Add support for disabled extensions synchronization#1455
zuolinayun wants to merge 1 commit intoshanalikhan:masterfrom
zuolinayun:feature/disabled-extensions-sync

Conversation

@zuolinayun
Copy link
Copy Markdown

Summary

This PR implements disabled extensions synchronization functionality to resolve Issue #143.

Changes Made

Core Implementation

  • New Service: DisabledExtensionService - Cross-platform service for detecting disabled extensions
  • Enhanced Model: Extended ExtensionInformation with disabled state properties
  • Sync Integration: Updated upload/download workflows to include disabled extensions

Key Features

  • Cross-platform support (Windows/macOS/Linux)
  • Global and workspace-level disabled extensions
  • 100% backward compatibility - no breaking changes
  • Comprehensive testing with full test suite

Files Modified

  • src/service/disabledExtension.service.ts - New service (7,722 bytes)
  • src/service/plugin.service.ts - Added disabled state properties
  • src/sync.ts - Integrated restoration logic
  • test/disabledExtension.test.ts - Complete test suite (5,378 bytes)

Technical Approach

Since VSCode API only returns enabled extensions, we read VSCode configuration files directly for disabled extension detection. Restoration uses VSCode commands for proper state management.

Testing

  • Unit tests for all platforms
  • Edge case handling (missing files, invalid JSON)
  • Integration tests for sync workflow
  • Syntax validation passed

Backward Compatibility

  • Existing sync functionality unchanged
  • New properties optional in data model
  • Graceful handling of legacy sync data

Fixes #143

- Implement DisabledExtensionService for cross-platform disabled extension detection
- Extend ExtensionInformation model with disabled state properties
- Update CreateExtensionList() to include disabled extensions
- Add RestoreDisabledExtensions() method for sync restoration
- Integrate disabled extension restoration into download workflow
- Add comprehensive test suite for new functionality
- Maintain full backward compatibility
- Support both global and workspace-level disabled extensions

Resolves shanalikhan#143 - Considering disabled extensions
IssueHunt bounty: 20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Considering disabled extensions

1 participant