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,一经查实,立即删除!

相关文章

JS闭包实例

学习闭包的时候看的例子&#xff0c;记录上来&#xff0c;以便以后可以再次深入理解&#xff01; 1 <script type"text/javascript"> 2 <!-- 3 //事件处理封装函数 4 function f(obj,method){ 5 return function(e){ 6 e e || win…

JAVA mysql存数组_JAVA数组怎么存放数据库的元素

Stringsql"selectidfrombuildingwherenumber>?";Stringparas[]{number};spnewSqlHelper();ResultSetrssp.query(sql,paras);while(rs.next()){idrs.getString(1);/i假如循环后id...String sql "select id from building where number>?";String pa…

四十三 常用内建模块 base64

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

ZOJ Problem Set - 1067 Color Me Less

这道题目很简单&#xff0c;考察的就是结构体数组的应用&#xff0c;直接贴代码了 #include <stdio.h> #include <math.h>typedef struct color {int r;int g;int b;}color;double distance(color c1,color c2) {return sqrt(pow((c1.b-c2.b),2)pow((c1.g-c2.g),2)…

JS 导出Excel,Word

//导出Excel function AllAreaExcel() { var oXL new ActiveXObject("Excel.Application"); var oWB oXL.Workbooks.Add(); var oSheet oWB.ActiveSheet; var seldocument.body.createTextRange(); sel.moveToEle…

c语言连接mysql(入门)_MySQL入门之C语言操作MySQL

基本概念C APIs包含在mysqlclient库文件当中&#xff0c;与MySQL的源代码一块发行&#xff0c;用于连接到数据库和执行数据库查询。#include #include #include #include #include int main(){int ret 0;MYSQL mysql;MYSQL *con NULL;con mysql_init(&mysql);if (con N…

Android UI 色板

感谢LZ 点击链接&#xff1a;android ui 色板 地址 转载于:https://www.cnblogs.com/sunjialiang/archive/2011/08/26/2154565.html

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;又…

aix6.1 nfs

1.首先需要启动aix 上的nfs 服务 startsrc -g nfs 或者 smit nfs --> Network File System (NFS)  -->  Configure NFS on This System  -->  Start NFS 停止nfs stopsrc -g nfs 2. 在aix系统上&#xff0c;创建一个共享目录&#xff0c;与普通目录无区别 例…

Flash基本工具练习

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

韦根w34是多少位_韦根接口读卡器说明书

距离读卡器颜色为:银白色 QZ-8600B 与 QZ-8600 蓝牙远距离读卡器颜色为:可乐红、 蓝色、橙色、黄色 读卡最大距离:1-20 米 标签协议:CDMA 接口类型:韦根 26/......支持 RS485 接口和韦根接口读卡器的接入,RS485 接口采用双接口设计,支 持环路断点故障检测和冗余功能;韦根格式支…

GMT与UTC简介

一、简介 许多人都知道两地时间表简称为GMT或UTC&#xff0c;而世界时区表则通称为World Time &#xff0c;那么GMT与UTC的实质原意又是为何&#xff1f;世界时区又是怎么区分的&#xff1f;面盘上密密麻麻的英文单字代表着什么意义与作用呢&#xff1f;这些都是新手在接触两地…

键盘事件的响应

在应用的程序的控制方面&#xff0c;更多的使用的是屏幕上的控件&#xff0c;但是有的时候也需要直接对键盘事件来进行响应。键盘是Android中主要的输入设备&#xff0c;对按键的响应的处理是响应之间在程序中使用键盘的核心内容。本例需要实现的内容是通过键盘来控制屏幕上的一…

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;思路其核…

Apache不记录制定文件类型日志

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf在CustomLog 行上加入如下代码&#xff1a;SetEnvIf Request_URI ".*\.gif$" p_w_picpath-requestSetEnvIf Request_URI ".*\.jpg$" p_w_picpath-requestSetEnvIf Request_URI ".*\.png$" p…