# vscode-tom-tools
**Repository Path**: lauset/vscode-tom-tools
## Basic Information
- **Project Name**: vscode-tom-tools
- **Description**: 一款 Vscode 工具插件,方便开发人员执行命令操作、自定义文档列表、自定义欢迎页、快速搜索、实时疫情统计与天气状况
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://marketplace.visualstudio.com/items?itemName=lauset.tomhub-tools
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2021-03-27
- **Last Updated**: 2022-12-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: VSCode, plugin
## README
# Tom Tools
一款包含多种功能(文档查看、天气疫情监控、快捷搜索)的工具插件,就工具插件呗
插件名称: `Tom Tools`
插件标识: `tomtools`
命令标识: `tt`
> 更新 1.2 版本前如果使用了文档本地配置请务必备份本地配置文件
## 功能一览
目前大的功能块分为三大类
- 自定义首页:
- 配置自定义首页链接
- 启动时展示自定义首页
- 可编辑的首页,真·自定义(待开发)
- 文档查看功能:
- 配置文档列表数据
- 侧栏菜单快速打开文档
- 快速搜索功能:
- 配置搜索链接
- 右键菜单快速搜索将打开浏览器
- 侧栏工具菜单
- 文档列表
- 天气与疫情监控
- 快捷命令选项
## 快速开始
**注意事项**
VSCode 会进行后台检测磁盘上的样式之类的文件是否已更改,更改了样式后插件会有一下提示 **安装似乎已损坏** ,不再提示即可
### 命令与配置
>**命令说明**
可以 `ctrl+shift+p` 键入以下命令,也可通过侧栏菜单快速点击完成操作
| 命令| 执行方式 | 说明 |
|-|-|-|
| tt.so | 选中文本右键快速搜索 | 打开浏览器并根据自定义网链搜索内容 |
| tt.welcome | 命令执行/侧栏菜单 | 打开自定义欢迎页面 |
| tt.doc | 命令执行/侧栏菜单 | 打开文档配置页面 |
| tt.search | 命令执行/侧栏菜单 | 打开快搜配置页面 |
| tt.menu | 命令执行/侧栏菜单 | 显示配置下拉菜单,可视化方式设置配置文件路径以及侧栏背景图 |
| tt.show | 命令执行/JS文件中右键菜单 | 目前没什么用 |
| tt.path | 命令执行/文件中右键菜单 | 展示当前文件路径,可在文件夹中打开 |
>**配置项说明**
全局配置项
"tomtools.owner": 您在该插件中的称呼,默认为 `tom`
"tomtools.welcome": 启动时是否显示插件自定义的欢迎页面,默认为 `false`
"tomtools.welcome.url": 自定义欢迎页面路径,可定为一些网络链接
```json
{
"tomtools.owner": "tom",
"tomtools.welcome": false,
"tomtools.welcome.url": "https://cn.vuejs.org"
}
```
侧栏背景图配置项
"tomtools.image.enabled": 开启侧边栏背景图片
"tomtools.image.opacity": 背景图片透明度 `0-1` 默认 `0.2`
"tomtools.image.path": 背景图片路径,支持本地或网链
```json
{
"tomtools.image.enabled": true,
"tomtools.image.opacity": 0.5,
"tomtools.image.path": "C:\\Users\\tom\\Desktop\\bg1.png"
}
```
文档列表配置项
"tomtools.urls.enabled": 开启本地化配置
"tomtools.urls.path": 本地配置文件路径
"tomtools.urls.file": 本地配置文件名称
```json
{
"tomtools.urls.enabled": true,
"tomtools.urls.path": "d:\\Code\\VScodeProjects\\plug-in\\tomhub-tools-plugin\\data",
"tomtools.urls.file": "localurls.json"
}
```
快速搜索配置项
"tomtools.search.enabled": 开启快搜本地配置
"tomtools.search.path": 本地配置文件路径
"tomtools.search.file": 本地配置文件名称
"tomtools.search.url": 快速搜索使用的网链
```json
{
"tomtools.urls.enabled": true,
"tomtools.urls.path": "/Users/tom/Code/VscodeProjects/vscode-tom-tools/data",
"tomtools.search.file": "localsearch.json",
"tomtools.search.url": "https://www.baidu.com/s?wd=%s"
}
```
### 功能操作说明
>**侧边栏菜单说明**
安装插件后会在左侧视图菜单中出现 `Tom工具栏` 这一项菜单,图标是个电视机
容器中会存在三个菜单(文档列表、天气监控、控制面板)
【文档列表】:展示远程文档配置文件中的文档列表(可以是文档也可以配置自定义命令)
【天气监控】:展示实时天气情况,实时疫情统计,未来7天气温
【控制面板】:提供了一些方便操作的命令按钮
>**文档列表数据格式**
文档列表中的数据目前储存在远程仓库 `根目录/data` 目录下的 `weburls.josn` 文件中,默认会使用远程仓库的数据。
单个网链数据结构如下
```javascript
interface IUrl {
isUrl: boolean; // 默认true,是否是有效网链
isCmd: boolean; // 是否是命令
state: number; // 链接状态,暂无用处
id: string; // 链接ID,不可重复,可用于排序
name: string; // 链接名称
url: string; // 链接地址
type: string; // 链接类型,也就是所属的父级菜单名称
tags: string[]; // 链接标签
}
```
配置示例:
文档网链示例:
```json
{
"id": "3",
"isUrl": true,
"state": 3,
"name": "Vue.js",
"url": "https://cn.vuejs.org/",
"type": "Documents",
"tags": ["framework", "vue"]
}
```
操作命令示例:
```json
{
"id": "1001",
"isCmd": true,
"state": 3,
"name": "文档配置页面",
"url": "tt.doc",
"type": "Commands",
"tags": ["cmd"]
}
```
>**快速搜索数据格式**
```js
interface ISearch {
id: number
isDefault: boolean
enabled: boolean
name: string
desc: string
url: string
icon: string
}
```
```js
const defaultSearch: ISearch = {
"id": 2,
"isDefault": false,
"enabled": false,
"name": "谷歌",
"desc": "Google",
"url": "https://www.google.com/search?q=%s",
"icon": ""
}
```
>**本地化配置文件**
默认使用远程仓库的 json 文件作为文档列表的数据来源,可以设置为本地文件并可以自定义设置本地配置文件路径和名称
请启用该功能,否则更新插件后插件根目录内的本地配置会被覆盖,请将常用配置移至个人电脑文档目录
操作方法:
用户要先设置 `tomtools.urls.enabled: true` 来启用本地化的配置。然后需要指定你本地配置文件的**路径**和**名称**,默认本地配置文件名称为 `localurls.json`,你可以将远程 `weburls.json` 中的数据复制到你本地配置文件中。同时也可以通过侧栏菜单按钮 `文档配置` 进入文档配置页面进行操作,注意要刷新左侧文档列表
>**下拉命令菜单**
可以输入命令 `tt.menu` 来打开功能下拉菜单
- 从文件资源管理器直接选择配置文件(选择后可选择打开并编辑配置,是的,编辑完你肯定需要重启)
- 从文件资源管理器选择配置文件夹,然后选择该文件夹内的配置文件
- 输入侧栏菜单背景图的路径(可以是本地图片的路径,也可以https网络路径)
- 输入侧栏菜单背景图的透明度(0的时候图片最明显,1的话就显示不出来图片了)
- 关闭侧栏菜单的背景图功能
## 远程仓库
> - 远程仓库使用 github 并同时使用 gitee 进行代码同步
> - 远程仓库地址 [vscode-tom-tools](https://github.com/lauset/vscode-tom-tool)
## 问题意见
插件的使用过程中如果发现了任何的 `bug` 或者有任何建议, 请提交 issues to GitHub Repo [issues](https://github.com/lauset/vscode-tom-tools/issues)
## 插件开发
>**目录说明**
- config 本地配置文件存放目录
- data 远程配置文件存放目录
- libs 三方依赖库
- resources 图标文件
- src 源码目录
- apis
- commands 命令注册(视图命令、普通命令)
- common 公共模块(全局事件、枚举)
- menus 侧栏菜单列表(列表与渲染,视图继承)
- select 下拉菜单(菜单配置项与样式修改)
- utils 工具类(日志、消息通知、视图回调、needle请求)
- webviews 视图界面(可使 Js 或 VueJS 完成页面开发)
>**安装依赖**
```sh
npm install
```
>**运行插件**
可使用 VScode 运行和调试功能
监听文件变动:`Dev Extension`
运行:`Run Extension`
这将会附带执行 TS 编译任务
```sh
npm run compile
```
>**打包部署**
可全局安装 `vsce` 或作为 Dev 依赖
~~pnpm 下操作~~ 待官方修复依赖问题
```sh
# 已过时: npm install -g vsce
# nmp i -D @vscode/vsce
npm install --global @vscode/vsce --force
vsce --version
```
指定平台打包
```sh
vsce package --target win32-x64
```
全平台打包
```sh
# 打包操作
vsce package
vsce package --no-dependencies
```
插件打包:生成 `vsix` 文件,部署该文件或者将其作为离线插件安装并使用
>**常用网址**
在 [https://marketplace.visualstudio.com/](https://marketplace.visualstudio.com/) 网站发布插件
在 [https://code.visualstudio.com/api](https://code.visualstudio.com/api) 看插件开发文档