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

news2024/12/25 23:49:51

在开发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.coloradmin.cn/o/749253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于pythonselenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,可提供点参考!下面就包括测试代…

有没有好的PC端和移动端都能用的便签app?

生活在快节奏的社会环境中,我们每天都要面对大量的事务。为了更好地管理任务和时间,便签app成为了越来越多人选择的工具。因为,便签app不仅能帮助我们记录并安排日常事务,还可以设置提醒事项,准时发送提醒通知告诉我们…

数学建模——插值算法

概念:数模比赛中,常常需要根据有已知的函数点进行数、模型处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生“一些新的但又比较靠谱的值来满足需求&a…

为什么很多人说不建议学JAVA,说很难找到工作?

前言 在回答这个问题之前,我曾经也看到了类似的其他语言相关的问题: 那么现在问题来了,什么语言都不建议学,那什么是可以学的呢?看多了所谓的不建议学习的文章和回答固然可以了解到该语言的些许缺点和当前环境下的一些…

NTLM协议

0x01 LM Hash加密算法 LM Hash本质是一个DES加密,从Windows Vista和Windows Server 2008开始就禁用了LM Hash。LM Hash明文密码被限定在14位以内,密码超过14位则会停止使用LM Hash。下面介绍一下LM Hash的加密流程,以Pss1234为例&#xff1a…

Element-Plus搭建CMS页面结构 引入第三方图标库iconfont(详细)

Element-Plus组件库使用 element plus组件库是由饿了么前端团队专门针对vue框架开发的组件库,专门用于电脑端网页的。因为里面集成了很多组件,所以使用他可以非常快速的帮我们实现网站的开发。 安装: npm install element-plus --save 引入…

制作Visual Studio离线安装包

vs2015之后官网就不提供离线安装包了,使用离线安装包就需要自己手动制作一个; 以vs2019为例: 先去官网下载在线安装器 官网下载地址:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com) 展开2019的标签…

表格tr根据内容撑开高度并且每个td继承tr的高度(height:inherit,align-items: stretch)

项目设计图 实际上数据又长又短,例如类型有可能出现2行甚至3行的字数,所以整个行要适配最高的高度,然后其他子元素继承行的高度。 ps:原生的table或者uview的u-table都不怎么好使,所以用view来做 在做的过程中出现高度…

澎湃认证:浪潮信息携手可利邦推出隐私计算一体机解决方案

北京可利邦与浪潮信息联合发布隐私计算一体机解决方案,以浪潮信息inMerge超融合产品为基础设施平台,预装可利邦隐私计算软件平台,通过SRDC一体机进行整机柜交付,助力客户快速上线隐私计算应用系统。该方案已通过浪潮信息澎湃技术认…

Node连接Mongodb数据库

1.初始化 npm init 2.安装mongoose npm i mongoose 3.导入mongoose const mongooserequire("mongoose") 4.连接mongodb服务 mongoose.connect("mongodb://127.0.0.1:27017/user") 说明:mongodb是协议,user是数据库,如果没有会自动创…

Oracle通过函数调用dblink同步表数据方案(全量/增量)

创建对应的包,以方便触发调用 /*包声明*/ CREATE OR REPLACE PACKAGE yjb.pkg_scene_job AS /*创建同步任务*/FUNCTION F_SYNC_DRUG_STOCK RETURN NUMBER;/*同步*/PROCEDURE PRC_SYNC_DRUG_STOCK(RUNJOB VARCHAR2) ; END pkg_scene_job; /*包体*/ CREATE OR REPL…

Dubbo最核心功能——服务暴露的配置、使用及原理

系列文章目录 【收藏向】从用法到源码,一篇文章让你精通Dubbo的SPI机制 面试Dubbo ,却问我和Springcloud有什么区别? 超简单,手把手教你搭建Dubbo工程(内附源码) 文章目录 系列文章目录前言一、服务暴露的…

idea乱码解决方式大汇总

目录 idea版本: 解决方法: 一、基本方法 1. File -> Settings -> Editor 2. 二、Maven乱码解决方法 三、运行时乱码解决方法 四、因为以前乱设置导致的乱码 idea版本: 解决方法: 一、基本方法 1. File -> Setti…

ETHERCAT主站网关转DEVICENET连接支持ethercat总线的PLC

大家好,今天要和大家分享一款自主研发的通讯网关——远创智控YC-ECTM-DNT。这款产品可是解决了不同协议设备数据交换的麻烦问题,让我们一起来看看它的神奇之处吧! 这款通讯网关有什么特别的呢?首先,它可以连接DEVICENE…

vue2 element-ui el-cascader地址省市区分开单独写

使用 npm 或 yarn 安装 element-china-area-data 包&#xff1a; npm install element-china-area-data 在你的代码中导入 element-china-area-data import { regionData } from element-china-area-data let that; 完整代码 <template><div><el-form ref&quo…

Zookeeper概述及部署

Zookeeper概述及部署 一、Zookeeper 定义二、Zookeeper 特点三、Zookeeper 数据结构四、Zookeeper 应用场景五、Zookeeper选举机制● 第一次启动选举机制● 非第一次启动选举机制 六、部署 Zookeeper 集群1.安装前准备2.安装 Zookeeper 一、Zookeeper 定义 Zookeeper是一个开源…

leetcode:LCP 06. 拿硬币(python3解法)

难度&#xff1a;简单 桌上有 n 堆力扣币&#xff0c;每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆&#xff0c;拿走其中的一枚或者两枚&#xff0c;求拿完所有力扣币的最少次数。 示例 1&#xff1a; 输入&#xff1a;[4,2,1] 输出&#xff1a;4 解释&#xff1a…

mysql-分页数据重复

背景说明 分页查询不同页出现重复数据&#xff0c;底层实现都是使用limit select * from tt1 limit 100,50 第101条开始的50条数据 select * from tt1 limit 100 前100条记录 select * from tt1 limit 100 offset 50 从51条开始&#xff0c;显示后面的100条 原因分析 以前碰…

力扣 53. 最大子数组和

题目来源&#xff1a;https://leetcode.cn/problems/maximum-subarray/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a;难点在于判断什么时候更新count。 是当nums[i]为正数吗&#xff1f;那要nums没有正数怎么办&#xff1b; 是当nums[i]比之前子数组…

网络监控的关键指标

网络监控是 IT 的支柱&#xff0c;对于防止可能困扰您的业务的计划外中断至关重要。这就是为什么投资网络监控解决方案是一个明智而安全的举动。特别是随着远程工作成为常态&#xff0c;监控工具使公司能够从世界任何地方监控网络&#xff0c;并有助于在整个过程中保持最佳性能…