IDE Supported Features
Pyrefly’s language server powers a complete editing experience while fully disabling Pylance, ensuring no interference between checkers.
Each feature below links to the official LSP specification and shows what’s currently supported by Pyrefly.
Go to definition
Jump to where a symbol is declared with a click or F12.
Find references
List all usages of a symbol across your codebase.
Document symbols
See an outline of all top-level items in the current file.
Workspace symbols
Search globally for functions, classes, and variables.
Hover
See type info and docstrings when hovering over code.
Document highlights
Highlights all other instances of the symbol under your cursor.
Signature help
Live function signatures as you type, with parameter hints.
Completion
Autocomplete suggestions for project-specific symbols and imports.
Rename
Safely rename symbols project-wide.
Diagnostics
Type errors and warnings from Pyrefly’s checker appear in the diagnostics pane ("Problems" pane in VSCode).
Semantic tokens
Rich syntax highlighting based on token type and origin.
Inlay hints
Inline hints for types, parameter names, and return values.
If you have the default VS Code Python extension installed at the same time as Pyrefly, inlay hints will be turned off by default. In all other cases, inlay hints will be on by default.
You can turn inlay hints on or off using the VSCode Setting editor.inlayHints.enabled
.
Notebook support
Right now, Pyrefly does not work with Jupyter notebooks in VS Code. Please follow this issue for updates.
You may use Pyrefly with Jupyter notebooks in Jupyter Lab, via the jupyterlab-lsp extension. Pyrefly will appear on the list of automatically-detected language servers.
Notebook support is experimental. Please report any bugs on our Github.
Planned features
See planned features and request your own on GitHub.