vscode 预览图片 插件_真的动手写的VSCode的插件(图片浏览)之1

81886764dfbc908b3201f86d0d13f90c.png

由于本职工作中经常做图像处理,于时大量的图片浏览是不可避免的。

怎么样不离开最近经常使用的VSCode,同时去看大量的图像对我来讲就是个不错的需求,尤其是某个目录下的文件。

先谈基本的需求吧,显示一个目标下的所有图像,最好图像可以按列表/块显示一下。

如果需求是这样,那就分解一下实现路径:

  1. 找到extension point, 在目录上显示个菜单。
  2. 菜单能够显示一个窗口。
  3. 窗口能够得到目录的路径 ,然后枚举所有的图像(png, jpg, jpeg)

好了,那我们就这么定了吧。

在正式开始前,我们先介绍一下VSCode插件的入口manifest文件:package.json。

本来这个文件是node.js用的,现在VSCode把它扩展了。同时会在它里边定义contributes 与 activationEvents。也就是Extension的扩展点与启动入口。

下面这些在package.json里很重要,对于VSCode来讲

name and publisher: <publisher>.<name>构成了唯一ID用于标识这个Extension
main: 入口的JS文件.
activationEvents and contributes: 定义你的扩展点与实际启动的事件.
engines.vscode: 定义你的兼容VSCode的最小版本

先从目录这个开始吧,不知道能不能很顺利的找到。不算顺利,不过找到了。

要看下面这一段:

https://code.visualstudio.com/api/references/contribution-points#contributes.menus
与https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts

这两篇文章,能找到要做一个Explorer的菜单,需要在package.json里写一段contributes, 借用Helloworld的代码吧

"contributes": {"commands": [{"command": "extension.helloWorld","title": "ShowImageView"}],"menus": {"explorer/context": [{"when": "explorerResourceIsFolder","command": "extension.helloWorld","alt": "extension.helloWorld","group": "navigation"}]}},

现在我们就有了一个右键菜单了。

bf9a3d49e7e8f1815aef79104e7ff54d.png

所有的扩展功能,都建议大家看一下完整的官方文档及VSCode的代码示例,应该能解决你的所有Extension开发的问题。

接下来,我们看看这个右键菜单里能得到什么吧,应该是个目录的路径,要拿到才好。

然后就是做一个WebView,用于显示这个目录里的所有文件。

下面这一段是官方指导建议:https://code.visualstudio.com/api/extension-capabilities/overview#workbench-extensions

Extension Ideas

  • Add custom context menu actions to the File Explorer. // OK
  • Create a new, interactive TreeView in the Side Bar.
  • Define a new Activity Bar view.
  • Show new information in the Status Bar.
  • Render custom content using the WebView API.
  • Contribute Source Control providers.

看来是个很长的故事,那就先等一下,下一章写吧。

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

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

相关文章

四十三 常用内建模块 base64

Base64是一种用64个字符来表示任意二进制数据的方法。 用记事本打开exe、jpg、pdf这些文件时&#xff0c;我们都会看到一大堆乱码&#xff0c;因为二进制文件包含很多无法显示和打印的字符&#xff0c;所以&#xff0c;如果要让记事本这样的文本处理软件能处理二进制数据&#…

Spring中IoC的入门实例[转]

Spring的模块化是很强的&#xff0c;各个功能模块都是独立的&#xff0c;我们可以选择的使用。这一章先从Spring的IoC开始。所谓IoC就是一个用XML来定义生成对象的模式&#xff0c;我们看看如果来使用的。  数据模型  1、如下图所示有三个类&#xff0c;Human&#xff08;人…

方向gravity_逆转重力方向,更加自由翱翔——GNZ48 - 《gravity》

第二期给大家带来的这首歌出自GNZ48 第二套原创公演《双面偶像》&#xff0c;也是GNZ48 team g 在这套公演中的队歌&#xff0c;一首气势恢宏的歌曲。开头的小提琴就带入我们进入了一种紧张的情绪&#xff0c;随着第一个鼓点敲下&#xff0c;歌词也渐渐揭开面纱&#xff1a;“泥…

06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档

芯航线——普利斯队长精心奉献 实验目的&#xff1a;1.掌握BCD码的原理、分类以及优缺点 2.设计一个多位的8421码计数器并进行验证 3.学会基本的错误定位以及修改能力 实验平台&#xff1a;无 实验原理&#xff1a; BCD码&#xff08;Binary-Coded Decimal&#xff09;又…

Flash基本工具练习

练习一、按钮 练习二、卡通脸 练习三、图标 转载于:https://www.cnblogs.com/staceydesign/p/3313229.html

mysql_query 资源标识符_借助PHP的mysql_query()函数来创建MySQL数据库的教程

以mysql_query()函数作为教程的基础前提&#xff0c;我们先来看一下mysql_query()的用法&#xff1a;mysql_query()函数PHP MySQL 函数库中&#xff0c;mysql_query() 函数用于向 MySQL 发送并执行 SQL 语句。对于没有数据返回结果集的 SQL &#xff0c;如 UPDATE、DELETE 等在…

ios PNG Crush error (PNG图片错误)

我是这么解决的&#xff1a; I had the same problem. How to fix : Open up image with Preview -> File > Export > Format change to PNG and you are done 其他被采纳的方法&#xff1a; 12 Answers activeoldestvotes up vote41down voteaccepted Did you check …

设计模式之十(外观模式)

前言 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一系统更加容易使用. 结构图 SubSystem Class 子系统类集合 实现子系统的功能&#xff0c;处理Facade对象指派的任务&#xff0c;注意子类中没有Facade的任何信息&#xff0c;即…

sunday java_Sunday算法:最快的字符串匹配算法

之前被KMP的next数组搞的头昏脑胀说不上也是比较烦人的&#xff0c;今天看到还有这么有趣而且高效的算法(比KMP还快)&#xff0c;看来有必要做一点笔记了Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配算法&#xff0c;其简单、快速的特点非常好&#xff01;思路其核…

小波分析实验: 实验1 连续小波变换

实验目的&#xff1a; 在理解连续小波变换原理的基础上&#xff0c;通过编程实现对一维信号进行连续小波变换&#xff0c;&#xff08;实验中采用的是墨西哥帽小波&#xff09;&#xff0c;从而对连续小波变换增加了理性和感性的认识&#xff0c;并能提高编程能力&#xff0c;为…

java axmlprinter_安卓xml配置文件解析工具-AXMLPrinter2.jar(androidmanifest.xml 反编译)下载官方最新版-西西软件下载...

AXMLPrinter2.jar apk分析APK文件&#xff0c;取得APK文件中的 包名、版本号及图标&#xff0c;很强大的工具&#xff0c;再一次感受到了批处理的牛逼。可以将android安卓编译过的二进制XML文件(binary xml file)反编译明文输出保存。是apk反编译修改的必备工具之一。例如需要查…

UML用例图说明

转自&#xff1a;http://www.360doc.com/content/10/1206/23/3123_75672033.shtml 前些时间参加了潘加宇老师的技术讲座&#xff0c;UML建模技术受益匪浅。我也把平时的一些积累和上次的收获总结在这篇文章中&#xff0c;主要讲解用例图相关的知识。 用例图是软件需求分析…

Android 布局学习之——Layout(布局)详解一

layout&#xff08;布局&#xff09;定义了用户界面的可视化结构&#xff08;visual structure&#xff09;,如Activity的UI,应用窗口的UI。 有两种方式声明layout: 1.在xml文件中声明UI组件。 2.在运行时&#xff0c;实例化布局元素。我们可以以编码的方式创建View或ViewGroup…

Week1 Team Homework #2 Introduction of team member with photos

小组成员介绍 组长&#xff1a;黄剑锟 11061164 组员&#xff1a;顾泽鹏 11061160 组员&#xff1a;周辰光 11061154 组员&#xff1a;龚少波 11061167 组员&#xff1a;赵骞 11061155 组员&#xff1a;孙时 11061146 组员&am…

inttostr java_Delphi和Java实现webservice架构

Webservice现在已经不是什么新技术了&#xff0c;用java建立webservice是快捷的&#xff0c;但是用java在制作客户端的感觉上总是不如 Delphi的(个人感觉&#xff0c;java高手们不要笑话我)&#xff0c;那我们就用java实现webservice的服务端程序&#xff0c;delphi制作客户端。…

CentOS系列启动流程和内核原理(5系列,6系列,7系列)

前言&#xff0c;本来让我写博客我是拒绝的然而看见大家都在写&#xff0c;还能不能一起友好的玩耍了&#xff1f; 我要是不写怎能和同大神们一起ZB呢&#xff1f;遂开博客&#xff01; 一、Linux启动内核文件 1.Linux系统组成 动态视角&#xff1a;内核根文件系统 静态视…

LSTM和GRU vs 循环神经网络RNN

1、考虑下列三种情况下&#xff0c;对比一下普通RNN的表现和LSTM和GRU表现&#xff1a; &#xff08;1&#xff09;早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况&#xff0c;其中第一个观测值包含一个校验和&#xff0c; 目标是在序列的末尾辨别校验和是…

java ora-12505_Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)

用oracle数据库新建连接时遇到ora-12505&#xff0c;此问题解决后又出现ora-12519错误&#xff0c;郁闷的半天&#xff0c;经过一番折腾问题解决&#xff0c;下面小编把我的两种解决方案分享给大家&#xff0c;仅供参考。解决方案一&#xff1a;今天工作时在新建连接的时候遇到…

【Silverlight】解决DataTemplate绑定附加属性

本文 Silverlight 版本&#xff1a;4.0。 首先定义数据类型&#xff0c;此文始终使用此定义类型。public class SimpleData : ViewModelBase{private string _text;private int _column, _row;public string Text { get { return _text; } set { _text value; OnPropertyChang…

N个三角形分割平面个数(数学)

一个三角形的时候&#xff0c;再加一个三角形&#xff0c;每一条变会与第一个三角形的两条边相交&#xff0c;这样增加2个小三角形&#xff0c;即两个面。f(2)3*2f(1)&#xff0c;再加一个三角形&#xff0c;每一条边会与前两个三角形的四条边相交&#xff0c;形成四个小三角形…