Skip to main content

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.

info

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.