You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vscode-sshfs/package.json

671 lines
27 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
// 扩展的名称
"name": "vscode-sshfs",
// 扩展在 VSCode 中的显示名称
"displayName": "SSH FS",
// 扩展的描述,简要说明其功能
"description": "File system, terminal and task provider using SSH",
// 扩展的发布者名称
"publisher": "Kelvin",
// 扩展的版本号
"version": "1.26.1",
// 扩展支持的 VSCode 版本
"engines": {
"vscode": "^1.49.0"
},
// 扩展的类别,这里被归类为 "Other"
"categories": [
"Other"
],
// 定义扩展的激活事件
"activationEvents": [
// 当访问 SSH 文件系统时触发
"onFileSystem:ssh",
// 当访问 SSH 文件系统时触发
"onFileSystemAccess:ssh",
// 当打开 SSH FS 配置视图时触发
"onView:sshfs-configs",
// 当打开 SSH FS 连接视图时触发
"onView:sshfs-connections",
// 当执行 sshfs.new 命令时触发
"onCommand:sshfs.new",
// 当执行 sshfs.add 命令时触发
"onCommand:sshfs.add",
// 当执行 sshfs.disconnect 命令时触发
"onCommand:sshfs.disconnect",
// 当执行 sshfs.disconnectAll 命令时触发
"onCommand:sshfs.disconnectAll",
// 当执行 sshfs.terminal 命令时触发
"onCommand:sshfs.terminal",
// 当执行 sshfs.focusTerminal 命令时触发
"onCommand:sshfs.focusTerminal",
// 当执行 sshfs.closeTerminal 命令时触发
"onCommand:sshfs.closeTerminal",
// 当执行 sshfs.configure 命令时触发
"onCommand:sshfs.configure",
// 当执行 sshfs.reload 命令时触发
"onCommand:sshfs.reload",
// 当执行 sshfs.settings 命令时触发
"onCommand:sshfs.settings",
// 当执行 sshfs.refresh 命令时触发
"onCommand:sshfs.refresh"
],
// 定义扩展的入口文件
"main": "./dist/extension.js",
// 扩展的主页链接
"homepage": "https://github.com/SchoofsKelvin/vscode-sshfs",
// 扩展的作者信息
"author": {
// 作者姓名
"name": "Kelvin Schoofs",
// 作者邮箱
"email": "schoofs.kelvin@gmail.com",
// 作者的 GitHub 主页
"url": "https://github.com/SchoofsKelvin"
},
// 扩展的仓库信息
"repository": {
// 仓库类型,这里是 git
"type": "git",
// 仓库的 URL
"url": "https://github.com/SchoofsKelvin/vscode-sshfs"
},
// 扩展的 Bug 反馈链接
"bugs": {
// Bug 反馈的 URL
"url": "https://github.com/SchoofsKelvin/vscode-sshfs/issues"
},
// 扩展的许可证信息
"license": "GPL-3.0",
// 扩展的图标文件路径
"icon": "resources/Logo.png",
// 定义扩展的关键词,这些关键词有助于用户在 VSCode 市场中搜索到该扩展
"keywords": [
// 表示该扩展与远程操作相关
"remote",
// 表示该扩展使用 SSH 协议进行通信
"ssh",
// 表示该扩展使用 SSH 文件系统SSHFS
"sshfs",
// 表示该扩展支持文件同步功能
"sync",
// 表示该扩展提供文件系统相关的功能
"filesystem",
// 表示该扩展提供终端相关的功能
"terminal",
// 表示该扩展支持 SFTP 协议
"sftp",
// 表示该扩展支持 SCP 协议
"scp"
],
// 定义扩展的徽章,用于展示扩展的一些关键信息
"badges": [
// GitHub 版本徽章,显示最新版本和预发布版本
{
"url": "https://img.shields.io/github/v/release/SchoofsKelvin/vscode-sshfs?include_prereleases&label=GitHub%20version",
"href": "https://github.com/SchoofsKelvin/vscode-sshfs/releases",
"description": "Releases on GitHub"
},
// Open VSX 版本徽章,显示 Open VSX 上的版本
{
"url": "https://img.shields.io/open-vsx/v/Kelvin/vscode-sshfs?label=Open%20VSX",
"href": "https://open-vsx.org/extension/Kelvin/vscode-sshfs",
"description": "Open VSX Registry"
},
// Visual Studio Marketplace 版本徽章,显示 Visual Studio Marketplace 上的版本
{
"url": "https://img.shields.io/visual-studio-marketplace/v/Kelvin.vscode-sshfs?label=VS%20Marketplace&logo=sdf",
"href": "https://marketplace.visualstudio.com/items?itemName=Kelvin.vscode-sshfs",
"description": "Visual Studio Marketplace"
},
// Visual Studio Marketplace 安装量徽章,显示 Visual Studio Marketplace 上的安装量
{
"url": "https://img.shields.io/visual-studio-marketplace/i/Kelvin.vscode-sshfs?label=Installs",
"href": "https://marketplace.visualstudio.com/items?itemName=Kelvin.vscode-sshfs",
"description": "Unique installs using Visual Studio Marketplace"
}
],
// 定义扩展的赞助信息,用于展示扩展的赞助链接
"sponsor": {
// 赞助链接的 URL
"url": "https://github.com/sponsors/SchoofsKelvin"
},
// 定义扩展的贡献点,用于扩展在 VSCode 中的功能和交互
"contributes": {
// 定义扩展的视图部分
"views": {
// 定义名为 sshfs 的视图容器
"sshfs": [
{
// 视图的唯一标识符
"id": "sshfs-configs",
// 视图的显示名称
"name": "Configurations",
// 视图的上下文标题
"contextualTitle": "SSH FS - Configurations",
// 视图的图标路径
"icon": "resources/icon.svg",
// 视图的可见性
"visibility": "visible"
},
{
// 视图的唯一标识符
"id": "sshfs-connections",
// 视图的显示名称
"name": "Connections",
// 视图的上下文标题
"contextualTitle": "SSH FS - Connections",
// 视图的图标路径
"icon": "resources/icon.svg",
// 视图的可见性
"visibility": "visible"
}
]
},
// 定义扩展的视图容器,用于在 VSCode 的活动栏中展示
"viewsContainers": {
// 在活动栏中添加一个名为 sshfs 的视图容器
"activitybar": [
{
// 视图容器的唯一标识符
"id": "sshfs",
// 视图容器的标题
"title": "SSH FS",
// 视图容器的图标路径
"icon": "resources/icon.svg"
}
]
},
// 定义一系列命令,用于在 VSCode 中执行与 SSH FS 相关的操作
"commands": [
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.new",
// 命令在菜单中显示的名称
"title": "Create a SSH FS configuration",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(new-file)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.add",
// 命令在菜单中显示的名称
"title": "Add as Workspace folder",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(new-folder)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.disconnect",
// 命令在菜单中显示的名称
"title": "Disconnect",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(debug-disconnect)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.disconnectAll",
// 命令在菜单中显示的名称
"title": "Disconnect all",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(debug-disconnect)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.terminal",
// 命令在菜单中显示的名称
"title": "Open remote SSH terminal",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(terminal)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.configure",
// 命令在菜单中显示的名称
"title": "Edit configuration",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(settings-gear)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.reload",
// 命令在菜单中显示的名称
"title": "Reload configurations",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(refresh)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.settings",
// 命令在菜单中显示的名称
"title": "Open settings and edit configurations",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(settings)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.refresh",
// 命令在菜单中显示的名称
"title": "Refresh",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(refresh)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.focusTerminal",
// 命令在菜单中显示的名称
"title": "Focus terminal",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(eye)"
},
{
// 命令的标识符,用于在其他地方引用该命令
"command": "sshfs.closeTerminal",
// 命令在菜单中显示的名称
"title": "Close terminal",
// 命令所属的类别,用于在命令面板中分组
"category": "SSH FS",
// 命令的图标,使用 VSCode 内置的图标
"icon": "$(close)"
}
],
// 定义一个名为 menus 的对象,用于配置命令面板
"menus": {
// 定义一个名为 commandPalette 的数组,用于配置命令面板中的命令
"commandPalette": [
// 配置一个名为 sshfs.new 的命令,该命令属于 SSH FS 类别,分组为 1
{
"command": "sshfs.new",
"group": "SSH FS@1"
},
// 配置一个名为 sshfs.add 的命令,该命令属于 SSH FS 类别,分组为 2
{
"command": "sshfs.add",
"group": "SSH FS@2"
},
// 配置一个名为 sshfs.disconnect 的命令,该命令属于 SSH FS 类别,分组为 3
{
"command": "sshfs.disconnect",
"group": "SSH FS@3"
},
// 配置一个名为 sshfs.terminal 的命令,该命令属于 SSH FS 类别,分组为 4
{
"command": "sshfs.terminal",
"group": "SSH FS@4"
},
// 配置一个名为 sshfs.configure 的命令,该命令属于 SSH FS 类别,分组为 5
{
"command": "sshfs.configure",
"group": "SSH FS@5"
},
// 配置一个名为 sshfs.reload 的命令,该命令属于 SSH FS 类别,分组为 6
{
"command": "sshfs.reload",
"group": "SSH FS@6"
},
// 配置一个名为 sshfs.disconnectAll 的命令,该命令属于 SSH FS 类别,分组为 7
{
"command": "sshfs.disconnectAll",
"group": "SSH FS@7"
},
// 配置一个名为 sshfs.settings 的命令,该命令属于 SSH FS 类别,分组为 8
{
"command": "sshfs.settings",
"group": "SSH FS@8"
},
// 配置一个名为 sshfs.focusTerminal 的命令,该命令在特定条件下可用
{
"command": "sshfs.focusTerminal",
"when": "false"
},
// 配置一个名为 sshfs.closeTerminal 的命令,该命令在特定条件下可用
{
"command": "sshfs.closeTerminal",
"when": "false"
},
// 配置一个名为 sshfs.refresh 的命令,该命令在特定条件下可用
{
"command": "sshfs.refresh",
"when": "false"
}
],
// 定义一个名为 view/title 的数组,用于配置视图标题栏中的命令
"view/title": [
// 配置一个名为 sshfs.refresh 的命令,该命令在视图为 'sshfs-configs' 或 'sshfs-connections' 时可用,属于导航分组,优先级为 1
{
"command": "sshfs.refresh",
"when": "view == 'sshfs-configs' || view == 'sshfs-connections'",
"group": "navigation@1"
},
// 配置一个名为 sshfs.new 的命令,该命令在视图为 'sshfs-configs' 时可用,属于导航分组,优先级为 2
{
"command": "sshfs.new",
"when": "view == 'sshfs-configs'",
"group": "navigation@2"
},
// 配置一个名为 sshfs.add 的命令,该命令在视图为 'sshfs-connections' 时可用,属于导航分组,优先级为 2
{
"command": "sshfs.add",
"when": "view == 'sshfs-connections'",
"group": "navigation@2"
},
// 配置一个名为 sshfs.disconnectAll 的命令,该命令在视图为 'sshfs-connections' 时可用,属于导航分组,优先级为 3
{
"command": "sshfs.disconnectAll",
"when": "view == 'sshfs-connections'",
"group": "navigation@3"
},
// 配置一个名为 sshfs.settings 的命令,该命令在视图为 'sshfs-configs' 或 'sshfs-connections' 时可用,属于导航分组,优先级为 100
{
"command": "sshfs.settings",
"when": "view == 'sshfs-configs' || view == 'sshfs-connections'",
"group": "navigation@100"
}
],
// 定义在视图项的上下文中显示的命令
"view/item/context": [
// 当视图为 'sshfs-configs' 且选中项为 'config' 时,显示 '添加' 命令
{
"command": "sshfs.add",
"when": "view == 'sshfs-configs' && viewItem == config",
"group": "inline@1"
},
// 当视图为 'sshfs-configs' 且选中项为 'config' 时,显示 '终端' 命令
{
"command": "sshfs.terminal",
"when": "view == 'sshfs-configs' && viewItem == config",
"group": "inline@2"
},
// 当视图为 'sshfs-configs' 且选中项为 'config' 时,显示 '配置' 命令
{
"command": "sshfs.configure",
"when": "view == 'sshfs-configs' && viewItem == config",
"group": "inline@3"
},
// 当视图为 'sshfs-configs' 且选中项为 'config' 时,显示 '断开连接' 命令
{
"command": "sshfs.disconnect",
"when": "view == 'sshfs-configs' && viewItem == config",
"group": "inline@4"
},
// 当视图为 'sshfs-connections' 且选中项为 'connection' 时,显示 '终端' 命令
{
"command": "sshfs.terminal",
"when": "view == 'sshfs-connections' && viewItem == connection",
"group": "inline@1"
},
// 当视图为 'sshfs-connections' 且选中项为 'connection' 时,显示 '断开连接' 命令
{
"command": "sshfs.disconnect",
"when": "view == 'sshfs-connections' && viewItem == connection",
"group": "inline@2"
},
// 当视图为 'sshfs-connections' 且选中项为 'terminal' 时,显示 '关闭终端' 命令
{
"command": "sshfs.closeTerminal",
"when": "view == 'sshfs-connections' && viewItem == terminal",
"group": "inline@1"
}
],
// 定义在资源管理器的上下文菜单中显示的命令
"explorer/context": [
// 配置一个名为 sshfs.terminal 的命令,该命令在资源管理器中选中的资源是一个文件夹且资源的协议是 ssh 时可用,属于导航分组,优先级为 30
{
"command": "sshfs.terminal",
"when": "explorerResourceIsFolder && resourceScheme == ssh",
"group": "navigation@30"
}
],
// 定义在状态栏的远程指示器中显示的命令
"statusBar/remoteIndicator": [
// 配置一个名为 sshfs.add 的命令,该命令属于 remote_11_ssh_sshfs 分组,优先级为 1
{
"command": "sshfs.add",
"group": "remote_11_ssh_sshfs@1"
},
// 配置一个名为 sshfs.terminal 的命令,该命令属于 remote_11_ssh_sshfs 分组,优先级为 2
{
"command": "sshfs.terminal",
"group": "remote_11_ssh_sshfs@2"
},
// 配置一个名为 sshfs.settings 的命令,该命令属于 remote_11_ssh_sshfs 分组,优先级为 3
{
"command": "sshfs.settings",
"group": "remote_11_ssh_sshfs@3"
},
// 配置一个名为 sshfs.disconnect 的命令,该命令属于 remote_11_ssh_sshfs 分组,优先级为 4仅在 sshfs.openConnections 大于 0 时显示
{
"command": "sshfs.disconnect",
"group": "remote_11_ssh_sshfs@4",
"when": "sshfs.openConnections > 0"
},
// 配置一个名为 sshfs.disconnectAll 的命令,该命令属于 remote_11_ssh_sshfs 分组,优先级为 5仅在 sshfs.openConnections 大于 0 时显示
{
"command": "sshfs.disconnectAll",
"group": "remote_11_ssh_sshfs@5",
"when": "sshfs.openConnections > 0"
}
]
},
// 定义配置部分,包含多个配置属性
"configuration": {
// 配置部分的标题
"title": "SSH FS Configuration",
// 配置属性的定义
"properties": {
// 定义一个名为 sshfs.configpaths 的属性,用于指定加载 SSH FS 配置的文件位置列表
"sshfs.configpaths": {
// 属性的标题
"title": "A list of file locations to load SSH FS configurations from",
// 属性的描述
"description": "Location of JSON files to load configs from",
// 属性的数据类型
"type": "array",
// 数组元素的数据类型
"items": "string",
// 属性的默认值
"default": []
},
// 定义一个名为 sshfs.configs 的属性,用于指定 SSH FS 的配置列表
"sshfs.configs": {
// 属性的标题
"title": "A list of SSH FS configurations",
// 属性的描述
"description": "Use the Settings UI to edit configurations (run command SSH FS: Open settings and edit configurations)",
// 属性的 Markdown 描述
"markdownDescription": "Use the Settings UI to edit configurations *(run command `SSH FS: Open settings and edit configurations`)*",
// 属性的数据类型
"type": "array",
// 数组元素的数据类型
"items": "object",
// 属性的默认值
"default": [
{
// 配置项的根目录
"root": "/tmp",
// 配置项的主机名
"host": "localhost",
// 配置项的端口号
"port": 22,
// 配置项的用户名
"username": "root",
// 配置项的密码
"password": "CorrectHorseBatteryStaple"
}
]
},
// 定义一个名为 sshfs.flags 的属性,用于指定启用或禁用某些修复/功能的特殊标志列表
"sshfs.flags": {
// 属性的标题
"title": "List of special flags to enable/disable certain fixes/features",
// 属性的描述
"description": "Flags are usually used for issues or beta testing. Flags can disappear/change anytime!",
// 属性的数据类型
"type": "array",
// 数组元素的数据类型
"items": "string",
// 属性的默认值
"default": []
}
}
},
// 定义任务类型,用于在 SSH 连接上执行命令
"taskDefinitions": [
{
// 任务类型的名称
"type": "ssh-shell",
// 任务的属性
"properties": {
// 主机配置,用于指定执行任务的 SSH 配置名称
"host": {
// 属性的数据类型
"type": "string",
// 属性的描述
"description": "The configuration (name) to run this task on"
},
// 命令,用于指定要在服务器上运行的命令
"command": {
// 属性的数据类型
"type": "string",
// 属性的描述
"description": "The command to run on the server"
},
// 工作目录,用于指定命令执行的相对路径(相对于配置定义的根目录)
"workingDirectory": {
// 属性的数据类型
"type": "string",
// 属性的描述
"description": "The working directory (relative to the config-defined root) to run the command in"
}
},
// 任务所需的必要属性
"required": [
// 主机配置是必需的
"host",
// 命令是必需的
"command"
]
}
],
// 定义资源标签格式化器,用于格式化 SSH 资源的标签
"resourceLabelFormatters": [
{
// 指定格式化器适用的协议为 ssh
"scheme": "ssh",
// 定义格式化规则
"formatting": {
// 标签的格式,使用模板字符串,包含协议、认证信息和路径
"label": "${scheme}://${authority}/${path}",
// 路径分隔符,这里设置为 /
"separator": "/",
// 是否将路径转换为波浪号表示法(~),这里设置为 false
"tildify": false,
// 是否去除路径开头的分隔符,这里设置为 true
"stripPathStartingSeparator": true,
// 工作区后缀,这里设置为 SSH FS
"workspaceSuffix": "SSH FS"
}
}
],
// 定义一个名为 viewsWelcome 的属性,它包含了一个数组,数组中的每个元素都是一个对象,这些对象定义了在特定视图中显示的欢迎内容
"viewsWelcome": [
// 第一个元素定义了在 sshfs-configs 视图中显示的欢迎内容
{
// 定义视图的名称
"view": "sshfs-configs",
// 定义视图的内容
"contents": "No configurations created yet"
},
// 第二个元素定义了在 sshfs-connections 视图中显示的欢迎内容
{
// 定义视图的名称
"view": "sshfs-connections",
// 定义视图的内容
"contents": "Not connected to anything"
}
]
},
// 定义扩展的功能
"capabilities": {
// 支持虚拟工作区
"virtualWorkspaces": true,
// 支持不受信任的工作区
"untrustedWorkspaces": {
// 支持不受信任的工作区
"supported": true
}
},
// 定义脚本命令,用于在开发和发布过程中执行特定的任务
"scripts": {
// 在发布前执行的脚本,用于在每个工作区中运行构建命令
"vscode:prepublish": "yarn workspaces foreach -tvip -j 2 run build",
// 用于生成生产环境的构建版本
"build": "webpack --mode production",
// 用于生成开发环境的构建版本
"compile": "webpack --mode development",
// 用于在开发环境中持续监视文件变化并自动重新构建
"watch": "webpack --mode development --watch"
},
// 定义开发依赖项,这些依赖项是在开发过程中需要的工具和库
"devDependencies": {
"@types/node": "^12.7.12",
"@types/request": "^2.48.1",
"@types/semver": "^7.3.9",
"@types/vscode": "~1.49.0",
"@types/webpack": "^4.4.25",
"@types/winreg": "^1.2.30",
"@vscode/vsce": "^2.18.0",
"prettier": "^2.6.2",
"source-map": "^0.7.3",
"source-map-support": "^0.5.19",
"ts-loader": "^9.4.2",
"typescript": "~5.0.2",
"webpack": "^5.76.3",
"webpack-cli": "^5.0.1"
},
// 定义项目的依赖项
"dependencies": {
"common": "workspace:*",
"event-stream": "^4.0.1",
"jsonc-parser": "^3.2.0",
"semver": "^7.3.5",
"socks": "^2.2.0",
"ssh2": "^1.11.0",
"winreg": "^1.2.4"
},
// 定义依赖项解析策略,确保特定依赖项的版本或补丁被正确应用
"resolutions": {
"cpu-features": "npm:@favware/skip-dependency@1.1.3",
"ssh2@^1.11.0": "patch:ssh2@npm%3A1.11.0#./.yarn/patches/ssh2-npm-1.11.0-convertSha1.patch"
},
// 定义项目的工作区,包含多个子项目
"workspaces": [
// 第一个子项目,位于当前目录下的 common 文件夹
"./common",
// 第二个子项目,位于当前目录下的 webview 文件夹
"./webview"
],
// 定义项目使用的包管理器及其版本
"packageManager": "yarn@3.5.0"
}