1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee
variable-conversion-vscode-.../package-comment.jsonc

374 lines
12 KiB
Plaintext
Raw Normal View History

{
// 插件 id 及名称
"name": "variable-conversion",
"displayName": "Variable Conversion",
"description": "一个强大的变量名转换插件,支持右键菜单、快捷键、状态栏等多种方式使用,支持小驼峰、大驼峰(帕斯卡)、下划线(蛇形)、中划线(连字符/脊柱式)、空格分隔、点分隔、全小写、全大写等常用命名方式(及组合)转换。 \nA powerful variable naming conversion extension. You can use it through the editer menu, shortcut keys and bottom bar. Support camel, pascal, snake, kebab(spinal), space, dot, lower, upper case, and more.",
// 版本号
2024-07-29 00:49:57 +08:00
"version": "1.0.11",
2024-04-06 14:17:42 +08:00
// logo
"icon": "image/logo.png",
"publisher": "coder-xiaomo",
"engines": {
"vscode": "^1.87.0"
},
"categories": [
"Other"
],
// 仓库地址
"repository": {
"type": "git",
2024-04-03 10:35:59 +08:00
"url": "https://github.com/coder-xiaomo/variable-conversion-vscode-extension.git"
},
2024-04-03 10:35:59 +08:00
"repositories": [
{
"type": "git",
"url": "https://git.only4.work/coder-xiaomo/variable-conversion-vscode-extension.git"
},
{
"type": "git",
"url": "https://gitee.com/coder-xiaomo/variable-conversion-vscode-extension.git"
}
],
"main": "./out/extension.js",
"activationEvents": [
// 当编辑器完成启动时激活
"onStartupFinished",
// 当用户选中文本时激活
"onTextSelected"
],
"contributes": {
// docs: https://code.visualstudio.com/docs/getstarted/keybindings#_accepted-keys
"keybindings": [
// 绑定快捷键
{
"command": "variable-conversion.convertCase",
"key": "shift+alt+t",
"when": "editorTextFocus"
},
// 循环转换 上一个
{
"command": "variable-conversion.cyclicConvertCase.previous",
"key": "ctrl+alt+[",
"args": {
"arrowKey": "["
},
"when": "editorTextFocus"
},
// 循环转换 下一个
{
"command": "variable-conversion.cyclicConvertCase.next",
"key": "ctrl+alt+]",
"args": {
"arrowKey": "]"
},
"when": "editorTextFocus"
}
],
"commands": [
/**
* 循环转换 可以不添加
*/
// {
// "command": "variable-conversion.cyclicConvertCase.previous",
// "title": "变量转换(上一个)"
// },
// {
// "command": "variable-conversion.cyclicConvertCase.next",
// "title": "变量转换(下一个)"
// },
2024-04-04 15:35:25 +08:00
/**
* 右键菜单
*/
{
"command": "variable-conversion.convertCase",
"title": "变量转换"
},
2024-04-04 15:35:25 +08:00
/**
* 右键菜单 - 子菜单
*/
// group-1-camel
{
"command": "variable-conversion.toCamelCase",
"title": "小驼峰(驼峰)命名 (Camel Case) [ fooBar ]"
},
{
"command": "variable-conversion.toPascalCase",
"title": "大驼峰(帕斯卡)命名 (Pascal Case) [ FooBar ]"
},
2024-04-04 15:35:25 +08:00
// group-2-snake
{
"command": "variable-conversion.toSnakeCase",
"title": "下划线(蛇形)命名 (Snake Case) [ foo_bar ]"
},
2024-04-04 15:35:25 +08:00
{
"command": "variable-conversion.toSnakeUpperCase",
"title": "下划线(蛇形) + 全大写命名 (Snake Upper Case) [ FOO_BAR ]"
2024-04-04 15:35:25 +08:00
},
2024-04-03 10:35:59 +08:00
{
"command": "variable-conversion.toSnakePascalCase",
"title": "下划线(蛇形) + 大驼峰(帕斯卡)命名 (Snake Pascal Case) [ Foo_Bar ]"
},
{
"command": "variable-conversion.toSnakeCamelCase",
"title": "下划线(蛇形) + 小驼峰(驼峰)命名 (Snake Camel Case) [ foo_Bar ]"
2024-04-03 10:35:59 +08:00
},
2024-04-04 15:35:25 +08:00
// group-3-kebab
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toKebabCase",
"title": "中划线(连字符/脊柱式)命名 (Kebab/Spinal Case) [ foo-bar ]"
},
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toKebabUpperCase",
"title": "中划线(连字符/脊柱式) + 全大写命名 (Kebab Upper Case) [ FOO-BAR ]"
},
{
"command": "variable-conversion.toKebabPascalCase",
"title": "中划线(连字符/脊柱式) + 大驼峰(帕斯卡)命名 (Kebab Pascal Case) [ Foo-Bar ]"
2024-04-04 15:35:25 +08:00
},
{
"command": "variable-conversion.toKebabCamelCase",
"title": "中划线(连字符/脊柱式) + 小驼峰(驼峰)命名 (Kebab Camel Case) [ foo-Bar ]"
},
// group-4-space
{
"command": "variable-conversion.toSpaceCase",
"title": "空格分隔命名 (Space Case) [ foo bar ]"
},
{
"command": "variable-conversion.toSpaceUpperCase",
"title": "空格分隔 + 全大写命名 (Space Upper Case) [ FOO BAR ]"
},
{
"command": "variable-conversion.toSpacePascalCase",
"title": "空格分隔 + 大驼峰(帕斯卡)命名 (Space Pascal Case) [ Foo Bar ]"
},
{
"command": "variable-conversion.toSpaceCamelCase",
"title": "空格分隔 + 小驼峰(驼峰)命名 (Space Camel Case) [ foo Bar ]"
},
// group-5-dot
{
"command": "variable-conversion.toDotCase",
"title": "点分隔命名 (Dot Case) [ foo bar ]"
},
{
"command": "variable-conversion.toDotUpperCase",
"title": "点分隔 + 全大写命名 (Dot Upper Case) [ FOO BAR ]"
},
{
"command": "variable-conversion.toDotPascalCase",
"title": "点分隔 + 大驼峰(帕斯卡)命名 (Dot Pascal Case) [ Foo Bar ]"
},
{
"command": "variable-conversion.toDotCamelCase",
"title": "点分隔 + 小驼峰(驼峰)命名 (Dot Camel Case) [ foo Bar ]"
},
// group-6-upper-lower
{
"command": "variable-conversion.toLowerCase",
"title": "全小写 (Lower Case) [ foobar ]"
2024-04-04 15:35:25 +08:00
},
{
"command": "variable-conversion.toUpperCase",
"title": "全大写 (Upper Case) [ FOOBAR ]"
}
// 隐藏命令
// {
// "command": "editor.action.transformToCamelcase",
// "title": "[VSCode 自带] 驼峰式大小写 (Camel Case) [ fooBar ]",
// "enablement": "false"
// },
// {
// "command": "editor.action.transformToKebabcase",
// "title": "[VSCode 自带] Kebab 命名 (Kebab Case) [ foo-bar ]",
// "enablement": "false"
// },
// {
// "command": "editor.action.transformToTitlecase",
// "title": "[VSCode 自带] 词首字母大写 (Title Case) [ Foo Bar ]",
// "enablement": "false"
// },
// {
// "command": "editor.action.transformToLowercase",
// "title": "[VSCode 自带] 转换为小写 (Lower Case) [ foo bar ]",
// "enablement": "false"
// },
// {
// "command": "editor.action.transformToUppercase",
// "title": "[VSCode 自带] 转换为大写 (Upper Case) [ FOO BAR ]",
// "enablement": "false"
// },
// {
// "command": "editor.action.transformToSnakecase",
// "title": "[VSCode 自带] 转换为蛇形命名法 (Snake Case) [ foo_bar ]",
// "enablement": "false"
// }
],
// docs: https://code.visualstudio.com/api/references/contribution-points#contributes.menus
"menus": {
// 编辑器右键菜单
"editor/context": [
{
"when": "editorTextFocus",
"command": "variable-conversion.convertCase",
// "group": "1_modification@9"
"group": "navigation@9"
},
{
"when": "editorTextFocus && _textSelectionLength >= 1",
"submenu": "variable-conversion.stringConversionMenu",
// docs: https://code.visualstudio.com/api/references/contribution-points#Sorting-of-groups
// "group": "1_modification@9"
"group": "navigation@9"
}
],
"variable-conversion.stringConversionMenu": [
// group-1-camel
{
"command": "variable-conversion.toCamelCase",
2024-04-04 15:35:25 +08:00
"group": "group-1-camel@1"
},
{
"command": "variable-conversion.toPascalCase",
2024-04-04 15:35:25 +08:00
"group": "group-1-camel@2"
},
// group-2-snake
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toSnakeCase",
"group": "group-2-snake@1"
},
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toSnakeUpperCase",
"group": "group-2-snake@2"
},
{
"command": "variable-conversion.toSnakePascalCase",
2024-04-04 15:35:25 +08:00
"group": "group-2-snake@3"
},
{
"command": "variable-conversion.toSnakeCamelCase",
"group": "group-2-snake@4"
},
// group-3-kebab
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toKebabCase",
"group": "group-3-kebab@1"
},
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toKebabUpperCase",
"group": "group-3-kebab@2"
},
{
"command": "variable-conversion.toKebabPascalCase",
2024-04-04 15:35:25 +08:00
"group": "group-3-kebab@3"
},
{
"command": "variable-conversion.toKebabCamelCase",
"group": "group-3-kebab@4"
},
// group-4-space
{
"command": "variable-conversion.toSpaceCase",
"group": "group-4-space@1"
},
{
"command": "variable-conversion.toSpaceUpperCase",
"group": "group-4-space@2"
},
{
"command": "variable-conversion.toSpacePascalCase",
"group": "group-4-space@3"
},
{
"command": "variable-conversion.toSpaceCamelCase",
"group": "group-4-space@4"
},
// group-5-dot
{
"command": "variable-conversion.toDotCase",
"group": "group-5-dot@1"
},
{
"command": "variable-conversion.toDotUpperCase",
"group": "group-5-dot@2"
},
{
"command": "variable-conversion.toDotPascalCase",
"group": "group-5-dot@3"
},
{
"command": "variable-conversion.toDotCamelCase",
"group": "group-5-dot@4"
},
// group-6-upper-lower
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toLowerCase",
"group": "group-6-upper-lower@1"
},
{
2024-04-04 15:35:25 +08:00
"command": "variable-conversion.toUpperCase",
"group": "group-6-upper-lower@2"
}
// 隐藏菜单项
// {
// "command": "editor.action.transformToCamelcase",
// "group": "group-vscode",
// "when": "false"
// },
// {
// "command": "editor.action.transformToKebabcase",
// "group": "group-vscode",
// "when": "false"
// },
// {
// "command": "editor.action.transformToTitlecase",
// "group": "group-vscode",
// "when": "false"
// },
// {
// "command": "editor.action.transformToLowercase",
// "group": "group-vscode",
// "when": "false"
// },
// {
// "command": "editor.action.transformToUppercase",
// "group": "group-vscode",
// "when": "false"
// },
// {
// "command": "editor.action.transformToSnakecase",
// "group": "group-vscode",
// "when": "false"
// }
]
},
// docs: https://code.visualstudio.com/api/references/contribution-points#contributes.submenus
"submenus": [
{
"id": "variable-conversion.stringConversionMenu",
"label": "将变量转换为..."
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "vscode-test",
"package": "echo \"start `vsce package`\" & vsce package",
"publish": "vsce publish"
},
"devDependencies": {
"@types/mocha": "^10.0.6",
"@types/node": "18.x",
"@types/vscode": "^1.87.0",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"@vscode/test-cli": "^0.0.8",
"@vscode/test-electron": "^2.3.9",
"eslint": "^8.57.0",
"typescript": "^5.3.3"
}
}