vscode插件开发之终端那些事儿

在开发vscode插件的时候,好几个设计都需要集成终端。
查资料后发现vsocd为开发者提供了丰富的终端API。

结合我自己的需求来展开终端的那些事儿吧:

  1. 从treeview中点击触发打开一个终端
    无关的代码省略:
vscode.window.createTerminal({name: "yu-term"});

在这里插入图片描述

看图有点别扭,怎么会在下面?不是我想要的效果。

  1. 调整下打开位置
vscode.window.createTerminal({name: "yu-term",
   location:vscode.TerminalLocation.Editor});

打开的位置在vscode.TerminalLocation.Editor
现在的效果ok了。
在这里插入图片描述

但是光标不在终端,需要鼠标点击下,继续调整。

  1. 调整光标
var _terminal = vscode.window.createTerminal({name: "yu-term",
   location:vscode.TerminalLocation.Editor});
_terminal.show(false);

通过show(false);调整光标到终端。
是否可以初始执行点命令?不用手敲,偷个懒?

  1. 终端默认执行指定命令
_terminal.sendText(`yutmux`);

通过sendText函数可以在终端中运行命令。
这里我运行了我自己封装tmux的一个脚本命令。
在这里插入图片描述

  1. 获取终端
vscode.window.activeTerminal->当前活跃 的终端
vscode.window.terminals->所有打开的终端

做判断,如果不想不断打开新的终端的话。

  1. 监听终端的事件
vscode.window.onDidChangeActiveTerminali->当前活跃的终端被改变
vscode.window.onDidCloseTerminal->有终端被关闭
vscode.window.onDidOpenTerminal->有新的终端被打开

有特殊需求可以通过这些监听事件进行处理。

  1. enjoy!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余很多之很多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值