Skip to content

Feature Parity: Priority fixes before shared package extraction #456

@edvilme

Description

@edvilme

Feature Parity: Priority fixes before shared package extraction

This issue tracks the highest-priority bug fixes and feature gaps identified in vscode-flake8 as part of the cross-extension feature parity analysis.

These are Tier 1 infrastructure issues that affect 3-5 repos each and should be addressed before or during the extraction of shared code into vscode-python-tool-lsp. Fixing these in the shared package will resolve them across all extensions simultaneously.

See the full analysis: microsoft/vscode-python-tools-extension-template#290

Fixes (7 items)

Issue Description Is Implemented Fix Description Repo Issue Tracking Related Issues Related PRs
Users have no visual indication when Flake8 is actively linting a file, making it unclear whether the extension is working or has stalled. no Required fix: This issue hasn't been reported in vscode-flake8 yet but exists in other extensions. Add a progress indicator (e.g., status bar spinner or VS Code progress notification) while Flake8 is running. Reference PR: microsoft/vscode-pylint#687. microsoft/vscode-pylint#687
The Flake8 extension silently fails when Flake8 is misconfigured, missing required plugins, or running an unsupported version, with no error message or indication of failure shown to the user. partial Partially implemented: Stderr output from flake8 is always logged to the Output channel. User-visible notifications are available via the flake8.showNotifications setting (supports 'onError', 'onWarning', 'always'), but this defaults to 'off', so failures are silent unless the user configures it. Re #242 microsoft/vscode-pylint#103
Running Flake8 via the VS Code extension produces different linting results than running Flake8 directly from the command line, causing confusion about which configuration or Python environment is bei partial Partially implemented: The exact flake8 command, CWD, and execution mode are logged to the Output channel for debugging. CWD is configurable via flake8.cwd with variable substitution. However, there is no explicit guarantee of identical environment variable propagation, and no envFile/.env support e
The Flake8 extension does not respect the python.envFile setting or .env files, so environment variables needed for import resolution or plugin configuration are not available to the Flake8 process. no Required fix: This issue hasn't been reported in vscode-flake8 yet but exists in other extensions. Read and apply environment variables from the configured python.envFile (or workspace .env) when spawning the Flake8 server process.
The Flake8 extension does not support an extraPaths setting (like python.analysis.extraPaths), so Flake8 cannot resolve imports from additional source directories outside the default Python path. no Required fix: This issue hasn't been reported in vscode-flake8 yet but exists in other extensions. Add a flake8.extraPaths setting that appends additional directories to PYTHONPATH when running Flake8. Reference PR: microsoft/vscode-pylint#524. microsoft/vscode-pylint#524
The Flake8 extension produces errors or warnings visible in the VS Code Developer Tools console, indicating bugs in the extension's client-side TypeScript/JavaScript code. partial Partially implemented: Error handling exists in critical paths: try-catch on server stop/start, disposable cleanup, structured logging via OutputChannelLogger. PRs #401 and #428 improved error handling. However, no comprehensive DevTools error audit has
The Flake8 extension significantly slows down file save operations, with on-save linting taking many seconds to complete and blocking the editor. partial Partially implemented: Linting runs asynchronously via the LSP architecture (pygls), so save operations are not blocked in the editor. Server restarts are debounced at 2000ms. However, there is no debouncing of rapid individual file saves at the linting level. Required fix: This issue hasn't been re microsoft/vscode-pylint#457

Auto-generated from cross-extension feature parity analysis. See microsoft/vscode-python-tools-extension-template#290 for methodology and full results.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions