Skip to content

Settings Reference

All BetterPy features can be toggled in Settings → Tools → BetterPy. This page lists every feature organized by settings group.

Typing & Type Hints

Feature Maturity Description
Copy method annotations from parent Incubating Copies type annotations from a parent method to its overrides
Missing |None annotation inspection Incubating Adds a quickfix for PyCharm's missing | None annotation inspection
NewType/TypeVar/ParamSpec reference & rename Stable Adds references for NewType/TypeVar/ParamSpec name literals, keeps the name string in sync on rename, and repairs manual NewType drift
Overridden method missing type annotations inspection Incubating Reports overrides missing type annotations present in parent methods
Strip signature type annotations Stable Removes type annotations from a function signature

Refactoring & Code Transformations

Feature Maturity Description
Change visibility Stable Toggles a Python symbol between public and private naming
Dict access conversion Incubating Converts between dict bracket access and .get() method calls
Make parameter mandatory Incubating Converts an optional parameter to a required one by removing the default value
Make parameter optional Incubating Converts a required parameter to an optional one with a default value
Parameter object MCP tool Stable Enables MCP (Model Context Protocol) tools for parameter object refactoring
Parameter object refactoring Incubating Enables introduce/inline parameter object refactoring actions
Toggle enum member value Stable Toggles enum member references with their literal values
Top-level extract function Incubating Extracts top-level Python statements into a function with parameters and explicit return values instead of globals

Testing (Pytest)

Feature Maturity Description
@pytest.mark.usefixtures on fixture is a no-op inspection Incubating Reports @pytest.mark.usefixtures decorators on fixture functions, where they have no effect — pytest only honours usefixtures on test functions
Convert pytest.param Incubating Converts between different pytest parameter formats
Copy pytest node ID from editor Incubating Copies the pytest node ID for the test at the caret position
Copy pytest node IDs Incubating Copies pytest node IDs for selected tests to the clipboard
Fixture Editor Integration Incubating Enables fixture navigation, completion, definition searches, find usages, rename, and override support in the editor
Fixture Injection Intentions Incubating Intentions for converting between fixture parameters and @pytest.mark.usefixtures
Fixture annotation mismatch inspection Incubating Reports test or fixture parameters whose explicit type annotation is incompatible with the value type provided by the resolved fixture
Jump to pytest node in test tree Incubating Navigates to the corresponding node in the test tree view
New pytest members Incubating Adds Generate menu actions for new pytest tests and fixtures
Parametrize pytest test Incubating Converts a test function to use @pytest.mark.parametrize
Pytest failed line inspection Incubating Marks the line where a pytest test failed
Pytest fixture direct import inspection Incubating Reports pytest fixture functions imported directly into conftest.py — prefer pytest_plugins for explicit scoping
Pytest fixture documentation Stable Enhances Quick Documentation and member type inference for pytest fixtures across files
Pytest fixture override contract inspection Incubating Reports fixture overrides whose produced value type is incompatible with the parent fixture
Pytest fixture scope inspection Incubating Reports fixtures that narrow the scope compared to parent fixtures
Pytest fixture uninjected reference inspection Incubating Reports fixture references inside tests/fixtures that are not declared as parameters
Pytest hooks Incubating Generates pytest hook stubs where pytest discovers them and adds navigation and F1 documentation
Pytest identifier in Search Everywhere Incubating Includes pytest identifiers in Search Everywhere results
Pytest parametrized case run gutter icon Incubating Shows run gutter icons for individual pytest parametrized cases when each case is on its own line
Pytest redundant fixture import inspection Incubating Reports explicitly imported pytest fixtures that are already auto-discoverable via conftest or plugins.
Run pytest with debug logging Incubating Duplicates the selected pytest run configuration with debug logging flags for the chosen test tree node
Surround with pytest.raises() Incubating Wraps a statement with pytest.raises() in test contexts
Toggle pytest skip Incubating Adds or removes @pytest.mark.skip decorator from a test
Toggle pytest skip from test tree Incubating Adds or removes @pytest.mark.skip from the test tree context menu
Unknown dynamic pytest fixture inspection Incubating Reports string-based fixture requests (usefixtures, getfixturevalue, indirect parametrize) that do not resolve to any visible fixture
Unused pytest fixture inspection Incubating Reports pytest fixture functions that are never used as a parameter in any test or other fixture in the project, and offers a safe-delete quick fix
Use actual test outcome Incubating Replaces assertion expected values with the actual value from the last failed test run
pytest_plugins in non-root conftest inspection Incubating Reports pytest_plugins assignments that appear in a non-root conftest.py file, where they have no effect
request.param without params inspection Incubating Reports pytest fixtures that read request.param but declare no params= and are not the target of any indirect parametrization

Imports & Module Boundaries

Feature Maturity Description
Export symbol to target Stable Exports a symbol to a specified target module's all
Feature Maturity Description
Class implementations code vision Incubating Shows an inline code vision hint above each Python class with the number of implementations (subclasses) and lets you navigate to them
Module assignment usages code vision Incubating Shows an inline code vision hint above each module-level assignment with the number of project-scope usages and lets you navigate to them
Property usages code vision Incubating Shows an inline code vision hint above each Python property with the number of project-scope usages and lets you navigate to them
Return path highlighting Incubating Highlights explicit return statements when the caret is on a function return annotation

Code Quality & Safety

Feature Maturity Description
Constant should be Final inspection Stable Reports module-level constants that should be annotated with Final
Private module import inspection Stable Reports private-module imports that should use public package exports
Shadowing stdlib module inspection Stable Reports project modules that shadow Python standard library modules
Suppress missing docstrings on overloads Incubating Suppresses PyCharm's missing docstring inspection for typing overload signatures.
Usage filtering Stable Adds Find Usages filters for type annotations and test-source references

Productivity Actions

Feature Maturity Description
Attribute Docstring in Quick Documentation Stable Retired attribute docstring rendering now provided natively by PyCharm.
Copy with imports Incubating Copies selected Python code together with the import statements referenced by that selection
Docstring Example Rendering Incubating Renders doctests and fenced Python examples in Quick Documentation docstrings.
Generate class actions Stable Adds Generate menu actions for test classes, dataclasses, frozen dataclasses, and pydantic models
Inherited Attribute Documentation Incubating Shows an ancestor attribute's docstring when an overriding class attribute has no local documentation.

IDE Customization

Feature Maturity Description
Enhanced Go to Implementation presentation Stable Prepends class name to method name in Go to Implementation popup when names are identical
Message console filter Stable Filters and formats Python messages in the console
Python navigation bar Stable Enables enhanced Python navigation bar with module path display
Structural Search Profile (Python) Incubating Adds a Python Structural Search profile integration for pattern matching and constraints
Test/Production editor tabs Incubating Keeps test and production files in separate editor splits with configurable alignment