Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
262 changes: 262 additions & 0 deletions MOST_REQUESTED_FEATURES_AND_BUGS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,262 @@
# Most Requested Features and Bugs in Pylance

This document provides a comprehensive overview of the most requested features and bugs in the Pylance extension, based on community feedback from GitHub Discussions and Issues, sorted by number of reactions (👍).

**Last Updated:** January 19, 2026
**Maintenance:** This document is maintained by the community and should be updated quarterly or when significant changes occur in top-requested items.

## Top Features and Enhancements

### 1. Improved Docstring Display Support (363 reactions) - ✅ COMPLETED
**Issue:** [#1848](https://github.com/microsoft/pylance-release/issues/1848)
**Status:** Closed
**Description:** Enhanced support for Python docstrings, including recognition of existing docstrings with defined parameters/types and auto-generation of docstrings with type inference from function signatures.

### 2. Show Class Hierarchy / Method Override Indicators (367 reactions) - ⏳ OPEN
**Issue:** [#4972](https://github.com/microsoft/pylance-release/issues/4972)
**Status:** Open (assigned)
**Description:** Display visual indicators (similar to PyCharm) showing which methods in a class override parent class methods, with ability to jump to the overriding parent method through icons.

### 3. Import Resolution Issues (130 reactions) - ✅ COMPLETED
**Issue:** [#236](https://github.com/microsoft/pylance-release/issues/236)
**Status:** Closed
**Description:** "Import could not be resolved" errors for valid imports, particularly for local modules in subdirectories.

### 4. Auto-Import Settings Control (120 reactions) - ✅ COMPLETED
**Issue:** [#64](https://github.com/microsoft/pylance-release/issues/64)
**Status:** Closed
**Description:** Ability to disable or configure auto-imports behavior to avoid unwanted automatic import suggestions.

### 5. Support for PyScript & Brython (47 reactions) - ⏳ OPEN
**Issue:** [#6760](https://github.com/microsoft/pylance-release/issues/6760)
**Status:** Open (assigned)
**Description:** Enable Python language support in HTML files for PyScript and Brython projects, including code highlighting and autocompletion for Python code directly in HTML files.

### 6. Add Support for Context-Based Code Actions (39 reactions) - ⏳ OPEN
**Issue:** [#5368](https://github.com/microsoft/pylance-release/issues/5368)
**Status:** Open (assigned)
**Description:** Provide refactoring code actions depending on context:
- Create parameter from undefined variable
- Create class from undefined class reference
- Create method from undefined function call

### 7. Improved Django Support (30 reactions) - ⏳ OPEN
**Issue:** [#3701](https://github.com/microsoft/pylance-release/issues/3701)
**Status:** Open (assigned)
**Description:** Enhanced Django support including:
- Completion for all related keys generated by Django ORM
- Extended completions for filter operations based on key names
- Go to definition on models referenced in settings.py
- Completions on models in settings.py
- manage.py shortcuts

### 8. Hide Private Variables/Attributes in Autocomplete (30 reactions) - ✅ COMPLETED
**Issue:** [#5281](https://github.com/microsoft/pylance-release/issues/5281)
**Status:** Closed
**Description:** Option to hide variables/attributes starting with underscore(s) from autocomplete suggestions outside their scope.

### 9. Moving Folders/Files Does Not Update Imports (33 reactions) - ⏳ OPEN
**Issue:** [#7051](https://github.com/microsoft/pylance-release/issues/7051)
**Status:** Open (assigned)
**Description:** When moving folders or multiple files, Python imports are not automatically refactored. Works only when moving a single file.

### 10. Different Docstring Format Support (29 reactions) - ✅ COMPLETED
**Issue:** [#48](https://github.com/microsoft/pylance-release/issues/48)
**Status:** Closed
**Description:** Support for Google-style docstrings and other popular docstring formats (not just reStructuredText).

## Top Bugs and Issues

### 1. Compatibility Issues Between Versions (48 reactions) - ✅ COMPLETED
**Issue:** [#5019](https://github.com/microsoft/pylance-release/issues/5019)
**Status:** Closed
**Description:** Pylance v2023.10.50 incompatibility with older Python Extension versions, causing licensing error messages.

### 2. PEP-660 Editable Installs Not Recognized (27 reactions) - ✅ COMPLETED
**Issue:** [#3473](https://github.com/microsoft/pylance-release/issues/3473)
**Status:** Closed (by design)
**Description:** Pylance not recognizing imports from PEP-660 editable installs with non-standard directory structures.

### 3. Jupyter Notebook Pylance Instability (27 reactions) - ✅ COMPLETED
**Issue:** [#4742](https://github.com/microsoft/pylance-release/issues/4742)
**Status:** Closed
**Description:** Pylance becomes unstable in Jupyter notebooks after 1-2 hours, losing syntax highlighting and error detection.

### 4. Virtual Environment Configuration (25 reactions) - ✅ COMPLETED
**Issue:** [#330](https://github.com/microsoft/pylance-release/issues/330)
**Status:** Closed
**Description:** Difficulty setting Pylance to use virtual Python environments (venv, conda, etc.).

### 5. Color Picker Support (26 reactions) - ✅ COMPLETED
**Issue:** [#6761](https://github.com/microsoft/pylance-release/issues/6761)
**Status:** Closed
**Description:** Invoke color picker for color values in Python code (RGB tuples, hex strings) similar to other languages.

### 6. Go to Definition Goes to Stub Files (70 reactions) - ✅ COMPLETED
**Issue:** [#65](https://github.com/microsoft/pylance-release/issues/65)
**Status:** Closed
**Description:** "Go to Definition" navigating to stub files (.pyi) instead of actual implementation code.

### 7. Refactoring: Move Module Members (73 reactions) - ✅ COMPLETED
**Issue:** [#76](https://github.com/microsoft/pylance-release/issues/76)
**Status:** Closed
**Description:** Refactoring feature to move variables or functions to different modules and automatically update all imports.

### 8. Line-Level Error Suppression (61 reactions) - ✅ COMPLETED
**Issue:** [#196](https://github.com/microsoft/pylance-release/issues/196)
**Status:** Closed
**Description:** Allow suppression of specific errors on individual lines (similar to `# pylint: disable=...`).

### 9. reportGeneralTypeIssues Too Generic (28 reactions) - ✅ COMPLETED
**Issue:** [#497](https://github.com/microsoft/pylance-release/issues/497)
**Status:** Closed
**Description:** The `reportGeneralTypeIssues` category covers both certain errors and assumed errors, making it difficult to handle differently.

### 10. Refactoring Features for File/Module/Variable Names (45 reactions) - ✅ COMPLETED
**Issue:** [#1510](https://github.com/microsoft/pylance-release/issues/1510)
**Status:** Closed
**Description:** Add comprehensive refactoring support for renaming files, modules, and variables with automatic update of all references.

## Additional Notable Issues

### Library-Specific Issues

#### TensorFlow Support (34 reactions) - ✅ COMPLETED
**Issue:** [#1066](https://github.com/microsoft/pylance-release/issues/1066)
**Status:** Closed
**Description:** Pylance not properly resolving TensorFlow modules like `tensorflow.data`.

#### NumPy Type Information (25 reactions) - ✅ COMPLETED
**Issue:** [#150](https://github.com/microsoft/pylance-release/issues/150)
**Status:** Closed
**Description:** Missing type information for numpy, showing "Unknown" for numpy types like `np.ndarray`.

#### OpenCV (cv2) Intellisense (22 reactions) - ✅ COMPLETED
**Issue:** [#138](https://github.com/microsoft/pylance-release/issues/138)
**Status:** Closed
**Description:** No intellisense for OpenCV (cv2) methods.

#### Attrs Library Support (35 reactions) - ✅ COMPLETED
**Issue:** [#226](https://github.com/microsoft/pylance-release/issues/226)
**Status:** Closed
**Description:** Pylance not recognizing constructor parameters from attrs library decorators.

### Configuration and Settings

#### VS Code Settings Schema Recognition (28 reactions) - ✅ COMPLETED
**Issue:** [#16](https://github.com/microsoft/pylance-release/issues/16)
**Status:** Closed
**Description:** JSON config file not recognizing Pylance as a valid language server option.

#### Support for `pylance.analysis.exclude` Setting (33 reactions) - ✅ COMPLETED
**Issue:** [#1150](https://github.com/microsoft/pylance-release/issues/1150)
**Status:** Closed
**Description:** Add VS Code setting to exclude directories from analysis (similar to pyrightconfig.json).

### Debugging and Error Handling

#### EMFILE: Too Many Open Files (24 reactions) - ✅ COMPLETED
**Issue:** [#936](https://github.com/microsoft/pylance-release/issues/936)
**Status:** Closed
**Description:** Error when opening Python files due to too many file handles being opened.

#### Local Import Resolution (25 reactions) - ✅ COMPLETED
**Issue:** [#519](https://github.com/microsoft/pylance-release/issues/519)
**Status:** Closed
**Description:** Pylance cannot resolve imports of local .py files in the same directory.

#### Local Imports in Subdirectories (36 reactions) - ✅ COMPLETED
**Issue:** [#68](https://github.com/microsoft/pylance-release/issues/68)
**Status:** Closed
**Description:** Local imports not resolving correctly when files are in subdirectories.

### Code Quality and Enhancement Features

#### Fold All Docstrings Command (25 reactions) - ✅ COMPLETED
**Issue:** [#4677](https://github.com/microsoft/pylance-release/issues/4677)
**Status:** Closed
**Description:** Add command to fold all docstrings in a file to improve code readability.

#### Folding Range Support (23 reactions) - ✅ COMPLETED
**Issue:** [#372](https://github.com/microsoft/pylance-release/issues/372)
**Status:** Closed
**Description:** Support for LSP folding-range requests to enable better code folding.

#### functools.wraps Decorator Support (26 reactions) - ✅ COMPLETED
**Issue:** [#442](https://github.com/microsoft/pylance-release/issues/442)
**Status:** Closed
**Description:** Special-case support for `@functools.wraps` to preserve function signatures in decorators.

#### functools.partial Parameter Hints (21 reactions) - ✅ COMPLETED
**Issue:** [#1434](https://github.com/microsoft/pylance-release/issues/1434)
**Status:** Closed
**Description:** Parameter hints not updating when using `functools.partial`.

#### Auto-Update Import Paths on File Move/Rename (20 reactions) - ✅ COMPLETED
**Issue:** [#127](https://github.com/microsoft/pylance-release/issues/127)
**Status:** Closed
**Description:** Automatically update import paths throughout the project when moving or renaming Python files.

### Jupyter Notebook Issues

#### Jupyter Notebook Cell Deletion Crash (21 reactions) - ✅ COMPLETED
**Issue:** [#4685](https://github.com/microsoft/pylance-release/issues/4685)
**Status:** Closed
**Description:** Pylance crashes when deleting cells in Jupyter notebooks in specific orders.

#### Jupyter Notebook Syntax Highlighting Failure (23 reactions) - ✅ COMPLETED
**Issue:** [#5543](https://github.com/microsoft/pylance-release/issues/5543)
**Status:** Closed
**Description:** Syntax highlighting fails in Jupyter notebooks after switching focus between documents.

### Documentation

#### Missing Docstrings for Builtins (25 reactions) - ✅ COMPLETED
**Issue:** [#49](https://github.com/microsoft/pylance-release/issues/49)
**Status:** Closed
**Description:** Missing docstrings for Python builtin functions and classes in hover tooltips.

## Summary Statistics

- **Total Issues Analyzed:** 43
- **Closed/Completed:** 38 (88%)
- **Still Open:** 5 (12%)
- **Average Reactions (Top 20):** 52 reactions
- **Peak Reactions:** 367 reactions (#4972 - Class Hierarchy)

## Key Themes

### Most Requested Features (By Category):
1. **Refactoring & Code Actions** - Move files/folders, rename with auto-update, context-based code generation
2. **Enhanced Language Support** - PyScript/Brython, Django, better library stubs
3. **Developer Experience** - Class hierarchy visualization, docstring management, auto-imports control
4. **Type Checking Improvements** - Better handling of dynamic types, partial function support

### Most Common Bugs (By Category):
1. **Import Resolution** - Local imports, virtual environments, editable installs
2. **Jupyter Notebook Issues** - Stability, syntax highlighting, cell operations
3. **Library Compatibility** - NumPy, TensorFlow, OpenCV, attrs
4. **Performance** - File handle limits, large projects

## Recommendations

### High Priority Open Items:
1. **Class Hierarchy/Method Override Indicators** (#4972) - Highly requested IDE feature parity with PyCharm
2. **Moving Folders/Multiple Files Import Refactoring** (#7051) - Critical refactoring gap
3. **Django Support** (#3701) - Important for Django developer ecosystem
4. **Context-Based Code Actions** (#5368) - Productivity enhancement
5. **PyScript & Brython Support** (#6760) - Emerging Python-in-browser ecosystem

### Community Engagement:
- The community is very active with detailed bug reports and feature requests
- Most issues are well-documented with reproduction steps
- High completion rate indicates responsive development team
- Many features implemented after community feedback

## Notes

- This report is based on GitHub Issues sorted by reaction count (👍)
- Many highly-requested features have already been implemented
- The development team has been very responsive to community feedback
- Several library-specific issues require upstream stub packages
- Import resolution and refactoring remain active areas of development
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ Pylance is the default language support for [Python in Visual Studio Code](https

The Pylance name is a small ode to Monty Python's Lancelot who was the first knight to answer the bridgekeeper's questions in the Holy Grail.

Community Feedback
------------------
Interested in what features and improvements the community is requesting? Check out our [Most Requested Features and Bugs](MOST_REQUESTED_FEATURES_AND_BUGS.md) document to see what's being prioritized based on community feedback.

Quick Start
============
1. Install the [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python) from the marketplace. Pylance will be installed as an optional extension.
Expand Down