首页 > 解决方案 > VS Code 扩展 - 订阅符号重命名

问题描述

如何订阅打字稿文件中的重命名符号(例如类名)?我尝试过,registerRenameProvider,但我不想提供整个重命名实现只是为了添加一些小功能。

以下代码将解释我想要做什么:

export function activate(context: vscode.ExtensionContext) {

  vscode.languages.registerOnSymbolRenameHook('typescript', ({newSymbolName, symbolType}) => {
    // e.g. rename file if there is only one class inside && symbolType === 'class'
  });

...

我还尝试注册其他命令处理程序

vscode.commands.registerCommand('vscode.executeDocumentRenameProvider', () => {
  console.log('vscode.executeDocumentRenameProvider called!');
});

但不幸的是我无法注册额外的命令钩子:

Activating extension 'undefined_publisher.custom-refactor' failed: command 'vscode.executeDocumentRenameProvider' already exists.

标签: visual-studio-codevscode-extensionsautomated-refactoring

解决方案


推荐阅读