首页 > 解决方案 > 当用户创建嵌入式终端时,如何从我的 VSCode 扩展中更改嵌入式终端的名称?

问题描述

我的扩展会影响 VSCode 实例中的环境,因此我想帮助用户识别包含环境更改的终端(在应用我的扩展之后)以及到目前为止已创建的终端。为此,我想做这样的事情:

    vscode.window.onDidOpenTerminal((terminal: vscode.Terminal) => {
        if(CONDITION){
        //terminal. = 'label:' + terminal.name; Won't work because the name is a constant
    };
    });

我在编写扩展方面不是很有经验,并且在文档中找不到任何关于如何最好地做到这一点的参考资料。有什么方法可以更改不是来自我的扩展的用户创建的终端的名称?

标签: javascriptapivisual-studio-code

解决方案


要重命名扩展中的当前终端,您可以这样做:

vscode.window.onDidOpenTerminal((terminal) => {
   if (true) {       // with your condition
     vscode.commands.executeCommand('workbench.action.terminal.renameWithArg', { name: 'myName' });
   }
});

仅此一项就无法区分扩展程序打开的终端和用户打开的终端(除了定时或设置变量可能 - 第一次调用它,第二次等更新全局变量)。


推荐阅读