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!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20500.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaEE进阶】使用注解存储对象

使用注解存储对象 之前我们存储Bean时,需要在spring-config 中添加一行 bean注册内容才行,如下图所示: 问题引入:如果想在Spring 中能够更简单的进行对象的存储和读取,该怎么办呢? 问题解答:实…

Tomcat工作原理

一、Tomcat架构 ### 说明: Server:表示整个 Tomcat Catalina servlet 容器,Server 中可以有多个 Service。(可以通过telenet 8005后连接后输入“SHUTDOWN” 注意这里是大写,来关闭服务)Service&#xff1…

JavaScript中的 map, forEach 无法跳出循环, return和 break不起作用,可以使用every 和 some方法

在我们平时使用习惯中,for循环里要跳出整个循环是使用break,但在数组中用forEach循环或者map如要退出整个循环使用break会报错,使用return也不能跳出循环,以下我们就来探索一下正确的跳出循环方案 一、先看一下案例 1、forEach函…

通信算法之176: 基于Matlab的OFDM通信系统关键基带算法设计6-流程

一. 接收算法流程 粗同步(分组检测) 载波同步(精细频偏估计) 精同步(OFDM起始,符号同步) 1.4 信道估计(长序列) 1.5 信道均衡(所有数据OFDM符号&#xff…

存css实现动态时钟背景

代码实现 <!DOCTYPE html> <html lang"en"> <head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>Title</title><meta name"referrer" content"no-referrer…

全球仅他一家!对甲方无情说“不”的顶尖效果图工作室,到底有多牛?

这个建筑&#xff0c;相信上海的小伙伴和喜欢看戏剧表演的朋友肯定不陌生。没错&#xff0c;它就是“上海大歌剧院”。它最大的亮点就是那座通天的旋转楼梯&#xff0c;如同一把展开的扇子&#xff0c;具有浓厚的东方美学特色。 歌剧院的设计构思固然巧妙&#xff0c;但同样离不…

数字化时代:虚拟数字人的智能进化与生活变革

我们需要实现对人工智能的有效监管。政府应该与科技公司合作&#xff0c;建立监管框架&#xff0c;确保人工智能的发展能够在保护人类利益的基础上进行。人工智能的快速发展带来了巨大的机遇&#xff0c;但同时也伴随着一些潜在的风险。如果没有适当的监管措施&#xff0c;人工…

【c++修行之路】智能指针

文章目录 前言为什么用智能指针智能指针简单实现unique_ptrshared_ptr 循环引用和weak_ptr的引入循环引用weak_ptr 定制删除器 前言 大家好久不见&#xff0c;今天来学习有关智能指针的内容~ 为什么用智能指针 假如我们有如下场景&#xff1a; double Div() {int x, y;cin …

STM32+PWM+输入捕获测频

外部时钟&#xff0c;主频64M 定时器1 通道1发出PWM波 频率1K 定时器2 通道1输入捕获&#xff0c;上升沿触发 串口 /* USER CODE BEGIN 0 */ uint32_t time_up_num0;//上升沿计数 float time_frequency;//频率 /* USER CODE END 0 */ 初始换打开定时器 /* USER CODE BEGIN 2 …

mapBox 绘制多边形无法设置 边框宽度 解决方法

目录 一、问题 二、解决方法 三、总结 tips:如嫌繁琐&#xff0c;直接看有颜色的文字即可&#xff01; 一、问题 1.使用mapBox在地图上绘制点、线、面。绘制多边形的时候发现 直接用 zh(一家提供地图引擎的公司),提供的绘制多边形的方法无法设置边框颜色和边框宽度。很是离…

Linux登录时,下游回显非常慢

目录 问题现象 原因分析 解决方法 源码等资料获取方法 问题现象 登录linux时&#xff0c;远程连接正常&#xff0c;[root...]回显非常慢&#xff0c;在执行脚本时&#xff0c;很容易导致命令下发错乱 原因分析 家目录下的.bash_history文件太大&#xff0c;导致每次登陆时读…

SQLSERVER的truncate和delete有区别吗?

一&#xff1a;背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 &#xff0c;这是一个很有意思的话题&#xff0c;本篇我就试着来回答一下&#xff0c;如果下次大家遇到这类问题&#xff0c;我的答案应该可以帮你成功度过吧。 二&#xff1…