The rename provider interface defines the contract between extensions and the rename-feature.
Fields
provideRenameEdits(document:TextDocument, position:Position, newName:String, token:CancellationToken):ProviderResult<WorkspaceEdit>
Provide an edit that describes changes that have to be made to one or many resources to rename a symbol to a different name.
Parameters:
document | The document in which the command was invoked. |
---|---|
position | The position at which the command was invoked. |
newName | The new name of the symbol. If the given name is not valid, the provider must return a rejected promise. |
token | A cancellation token. |
Returns:
A workspace edit or a thenable that resolves to such. The lack of a result can be
signaled by returning undefined
or null
.
optionalprepareRename:Null<(TextDocument, Position, CancellationToken) ‑> ProviderResult<EitherType<Range, {range:Range, placeholder:String}>>>
Optional function for resolving and validating a position before running rename. The result can be a range or a range and a placeholder text. The placeholder text should be the identifier of the symbol which is being renamed - when omitted the text in the returned range is used.
*Note: * This function should throw an error or return a rejected thenable when the provided location doesn't allow for a rename.
Parameters:
document | The document in which rename will be invoked. |
---|---|
position | The position at which rename will be invoked. |
token | A cancellation token. |
Returns:
The range or range and placeholder text of the identifier that is to be renamed. The lack of a result can signaled by returning undefined
or null
.