Autocompletion¶
param-lsp offers context-aware autocompletion for Param classes, parameters, and decorators.
Parameter Constructor Completion¶
When creating instances of Parameterized classes, param-lsp provides intelligent parameter name completion:

Autocompletion dropdown showing parameter suggestions for MyClass constructor
import param
class MyClass(param.Parameterized):
width = param.Integer(default=100, bounds=(1, 1000))
height = param.Integer(default=50, bounds=(1, 1000))
title = param.String(default="Widget")
# Type 'MyClass(' and see parameter completions
instance = MyClass(
w # <- Autocompletion suggests 'width'
# Completion shows: width, height, title
)
What you'll see:
- Immediate parameter name suggestions as you type
- Parameter type information in completion details
- Default values and bounds shown in completion documentation
@param.depends Completion¶
Smart completion for dependency decorators:
Features:
- Parameter name completion within dependency strings
- Multiple parameter dependency support
- Validation of parameter names
- Cross-object dependency completion
Inheritance-Aware Completion¶
Autocompletion includes parameters from parent classes:

Autocompletion showing both inherited and local parameters for Button class
import param
class BaseWidget(param.Parameterized):
width = param.Integer(default=100)
height = param.Integer(default=50)
class Button(BaseWidget):
text = param.String(default="Click me")
disabled = param.Boolean(default=False)
# Completion includes inherited parameters
button = Button(
width=200, # From BaseWidget
text="Submit", # From Button
# All available: width, height, text, disabled
)
External Library Support¶
param-lsp provides intelligent completion for other HoloViz libraries, Panel and HoloViews.
