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

554 lines
22 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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.",
"version": "2.0.1",
"icon": "image/logo.png",
"publisher": "coder-xiaomo",
"engines": {
"vscode": "^1.102.0"
},
"categories": [
"Other"
],
"repository": {
"type": "git",
"url": "https://github.com/coder-xiaomo/variable-conversion-vscode-extension.git"
},
"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": {
"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"
},
{
"command": "variable-conversion.convertPath",
"key": "shift+alt+/",
"when": "editorTextFocus"
},
{
"command": "variable-conversion.cyclicConvertPath.previous",
"key": "ctrl+alt+shift+/",
"args": {
"direction": "<-"
},
"when": "editorTextFocus"
},
{
"command": "variable-conversion.cyclicConvertPath.next",
"key": "ctrl+alt+/",
"args": {
"direction": "->"
},
"when": "editorTextFocus"
}
],
"commands": [
{
"command": "variable-conversion.convertCase",
"title": "变量转换"
},
{
"command": "variable-conversion.toCamelCase",
"title": "小驼峰(驼峰)命名 (Camel Case) [ fooBar ]"
},
{
"command": "variable-conversion.toPascalCase",
"title": "大驼峰(帕斯卡)命名 (Pascal Case) [ FooBar ]"
},
{
"command": "variable-conversion.toSnakeCase",
"title": "下划线(蛇形)命名 (Snake Case) [ foo_bar ]"
},
{
"command": "variable-conversion.toSnakeUpperCase",
"title": "下划线(蛇形) + 全大写命名 (Snake Upper Case) [ FOO_BAR ]"
},
{
"command": "variable-conversion.toSnakePascalCase",
"title": "下划线(蛇形) + 大驼峰(帕斯卡)命名 (Snake Pascal Case) [ Foo_Bar ]"
},
{
"command": "variable-conversion.toSnakeCamelCase",
"title": "下划线(蛇形) + 小驼峰(驼峰)命名 (Snake Camel Case) [ foo_Bar ]"
},
{
"command": "variable-conversion.toKebabCase",
"title": "中划线(连字符/脊柱式)命名 (Kebab/Spinal Case) [ foo-bar ]"
},
{
"command": "variable-conversion.toKebabUpperCase",
"title": "中划线(连字符/脊柱式) + 全大写命名 (Kebab Upper Case) [ FOO-BAR ]"
},
{
"command": "variable-conversion.toKebabPascalCase",
"title": "中划线(连字符/脊柱式) + 大驼峰(帕斯卡)命名 (Kebab Pascal Case) [ Foo-Bar ]"
},
{
"command": "variable-conversion.toKebabCamelCase",
"title": "中划线(连字符/脊柱式) + 小驼峰(驼峰)命名 (Kebab Camel Case) [ foo-Bar ]"
},
{
"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 ]"
},
{
"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 ]"
},
{
"command": "variable-conversion.toLowerCase",
"title": "全小写 (Lower Case) [ foobar ]"
},
{
"command": "variable-conversion.toUpperCase",
"title": "全大写 (Upper Case) [ FOOBAR ]"
},
{
"command": "variable-conversion.convertPath",
"title": "路径转换"
},
{
"command": "variable-conversion.pathFormat.toWindowsStyle",
"title": "Windows 风格 [ C:\\Windows\\System32 ]"
},
{
"command": "variable-conversion.pathFormat.toUnixStyle",
"title": "Unix 风格 [ /usr/bin ]"
}
],
"menus": {
"editor/context": [
{
"when": "editorTextFocus && _textSelectionLength >= 1",
"command": "variable-conversion.convertCase",
"group": "navigation@10"
},
{
"when": "editorTextFocus && _textSelectionLength >= 1",
"submenu": "variable-conversion.stringConversionMenu",
"group": "navigation@11"
},
{
"when": "editorTextFocus && _textSelectionLength >= 1",
"command": "variable-conversion.convertPath",
"group": "navigation@12"
},
{
"when": "editorTextFocus && _textSelectionLength >= 1",
"submenu": "variable-conversion.pathConversionMenu",
"group": "navigation@13"
}
],
"variable-conversion.stringConversionMenu": [
{
"when": "!_isHideSubMenuItem_camel_case",
"command": "variable-conversion.toCamelCase",
"group": "group-1-camel@1"
},
{
"when": "!_isHideSubMenuItem_pascal_case",
"command": "variable-conversion.toPascalCase",
"group": "group-1-camel@2"
},
{
"when": "!_isHideSubMenuItem_snake_case",
"command": "variable-conversion.toSnakeCase",
"group": "group-2-snake@1"
},
{
"when": "!_isHideSubMenuItem_snake_upper_case",
"command": "variable-conversion.toSnakeUpperCase",
"group": "group-2-snake@2"
},
{
"when": "!_isHideSubMenuItem_snake_pascal_case",
"command": "variable-conversion.toSnakePascalCase",
"group": "group-2-snake@3"
},
{
"when": "!_isHideSubMenuItem_snake_camel_case",
"command": "variable-conversion.toSnakeCamelCase",
"group": "group-2-snake@4"
},
{
"when": "!_isHideSubMenuItem_kebab_case",
"command": "variable-conversion.toKebabCase",
"group": "group-3-kebab@1"
},
{
"when": "!_isHideSubMenuItem_kebab_upper_case",
"command": "variable-conversion.toKebabUpperCase",
"group": "group-3-kebab@2"
},
{
"when": "!_isHideSubMenuItem_kebab_pascal_case",
"command": "variable-conversion.toKebabPascalCase",
"group": "group-3-kebab@3"
},
{
"when": "!_isHideSubMenuItem_kebab_camel_case",
"command": "variable-conversion.toKebabCamelCase",
"group": "group-3-kebab@4"
},
{
"when": "!_isHideSubMenuItem_space_case",
"command": "variable-conversion.toSpaceCase",
"group": "group-4-space@1"
},
{
"when": "!_isHideSubMenuItem_space_upper_case",
"command": "variable-conversion.toSpaceUpperCase",
"group": "group-4-space@2"
},
{
"when": "!_isHideSubMenuItem_space_pascal_case",
"command": "variable-conversion.toSpacePascalCase",
"group": "group-4-space@3"
},
{
"when": "!_isHideSubMenuItem_space_camel_case",
"command": "variable-conversion.toSpaceCamelCase",
"group": "group-4-space@4"
},
{
"when": "!_isHideSubMenuItem_dot_case",
"command": "variable-conversion.toDotCase",
"group": "group-5-dot@1"
},
{
"when": "!_isHideSubMenuItem_dot_upper_case",
"command": "variable-conversion.toDotUpperCase",
"group": "group-5-dot@2"
},
{
"when": "!_isHideSubMenuItem_dot_pascal_case",
"command": "variable-conversion.toDotPascalCase",
"group": "group-5-dot@3"
},
{
"when": "!_isHideSubMenuItem_dot_camel_case",
"command": "variable-conversion.toDotCamelCase",
"group": "group-5-dot@4"
},
{
"when": "!_isHideSubMenuItem_lower_case",
"command": "variable-conversion.toLowerCase",
"group": "group-6-upper-lower@1"
},
{
"when": "!_isHideSubMenuItem_upper_case",
"command": "variable-conversion.toUpperCase",
"group": "group-6-upper-lower@2"
}
],
"variable-conversion.pathConversionMenu": [
{
"when": "!_isHideSubMenuItem_windows_style",
"command": "variable-conversion.pathFormat.toWindowsStyle",
"group": "group-1-common-style@1"
},
{
"when": "!_isHideSubMenuItem_unix_style",
"command": "variable-conversion.pathFormat.toUnixStyle",
"group": "group-1-common-style@2"
}
]
},
"submenus": [
{
"id": "variable-conversion.stringConversionMenu",
"label": "将变量转换为..."
},
{
"id": "variable-conversion.pathConversionMenu",
"label": "将路径转换为..."
}
],
"configuration": {
"title": "Variable Conversion 变量转换",
"properties": {
"variable-conversion.enabledFormats": {
"type": "object",
"description": "Tags and options configured here will be used by the Add Tags command to add tags to struct fields. If promptForTags is true, then user will be prompted for tags and options. By default, json tags are added.",
"markdownDescription": "配置启用的变量命名方式\n\nConfiguration of Enabled Variable Naming Conventions.\n\n&nbsp;\n\n🌰 e.g. *Mike like eat ice-cream*\n\n对于这个句子不同命名方式如以下示例\n\nFor this sentence, different naming conventions are as follows:\n\n[在 settings.json 中编辑 (Edit in settings.json)](command:workbench.action.openSettingsJson)",
"scope": "window",
"properties": {
"lowerCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全小写命名] lower case (全小写)\n 🌰e.g. mike like eat ice-cream"
},
"snakeCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全小写命名] snake case (下划线)\n 🌰e.g. mike_like_eat_ice_cream"
},
"kebabCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全小写命名] kebab case (连字符)\n 🌰e.g. mike-like-eat-ice-cream"
},
"spaceCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全小写命名] space case (空格)\n 🌰e.g. mike like eat ice cream"
},
"dotCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全小写命名] dot case (点)\n 🌰e.g. mike.like.eat.ice.cream"
},
"upperCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全大写命名] upper case (全大写)\n 🌰e.g. MIKE LIKE EAT ICE-CREAM"
},
"snakeUpperCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全大写命名] snake upper case (下划线)\n 🌰e.g. MIKE_LIKE_EAT_ICE_CREAM"
},
"kebabUpperCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全大写命名] kebab upper case (连字符)\n 🌰e.g. MIKE-LIKE-EAT-ICE-CREAM"
},
"spaceUpperCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全大写命名] space upper case (空格)\n 🌰e.g. MIKE LIKE EAT ICE CREAM"
},
"dotUpperCase.enabled": {
"type": "boolean",
"default": false,
"description": "[全大写命名] dot upper case (点)\n 🌰e.g. MIKE.LIKE.EAT.ICE.CREAM"
},
"pascalCase.enabled": {
"type": "boolean",
"default": false,
"description": "[大驼峰命名] pascal case (大驼峰)\n 🌰e.g. MikeLikeEatIceCream"
},
"snakePascalCase.enabled": {
"type": "boolean",
"default": false,
"description": "[大驼峰命名] snake pascal case (下划线)\n 🌰e.g. Mike_Like_Eat_Ice_Cream"
},
"kebabPascalCase.enabled": {
"type": "boolean",
"default": false,
"description": "[大驼峰命名] kebab pascal case (连字符)\n 🌰e.g. Mike-Like-Eat-Ice-Cream"
},
"spacePascalCase.enabled": {
"type": "boolean",
"default": false,
"description": "[大驼峰命名] space pascal case (空格)\n 🌰e.g. Mike Like Eat Ice Cream"
},
"dotPascalCase.enabled": {
"type": "boolean",
"default": false,
"description": "[大驼峰命名] dot pascal case (点)\n 🌰e.g. Mike.Like.Eat.Ice.Cream"
},
"camelCase.enabled": {
"type": "boolean",
"default": false,
"description": "[小驼峰命名] camel case (小驼峰)\n 🌰e.g. mikeLikeEatIceCream"
},
"snakeCamelCase.enabled": {
"type": "boolean",
"default": false,
"description": "[小驼峰命名] snake camel case (下划线)\n 🌰e.g. mike_Like_Eat_Ice_Cream"
},
"kebabCamelCase.enabled": {
"type": "boolean",
"default": false,
"description": "[小驼峰命名] kebab camel case (连字符)\n 🌰e.g. mike-Like-Eat-Ice-Cream"
},
"spaceCamelCase.enabled": {
"type": "boolean",
"default": false,
"description": "[小驼峰命名] space camel case (空格)\n 🌰e.g. mike Like Eat Ice Cream"
},
"dotCamelCase.enabled": {
"type": "boolean",
"default": false,
"description": "[小驼峰命名] dot camel case (点)\n 🌰e.g. mike.Like.Eat.Ice.Cream"
}
},
"additionalProperties": false,
"default": {
"lowerCase.enabled": true,
"snakeCase.enabled": true,
"kebabCase.enabled": true,
"spaceCase.enabled": true,
"dotCase.enabled": false,
"upperCase.enabled": true,
"snakeUpperCase.enabled": true,
"kebabUpperCase.enabled": false,
"spaceUpperCase.enabled": true,
"dotUpperCase.enabled": false,
"pascalCase.enabled": true,
"snakePascalCase.enabled": false,
"kebabPascalCase.enabled": false,
"spacePascalCase.enabled": false,
"dotPascalCase.enabled": false,
"camelCase.enabled": true,
"snakeCamelCase.enabled": false,
"kebabCamelCase.enabled": false,
"spaceCamelCase.enabled": false,
"dotCamelCase.enabled": false
}
},
"variable-conversion.disableFormat": {
"order": 1,
"markdownDescription": "定义哪些变量命名方式是禁用的\n\nDefine which variable formats are disabled.\n\n若您感觉以下配置比较麻烦也可以选择在 `settings.json` 中编辑:\n\nIf you find the following configuration troublesome, you can also edit this configuration item in `settings.json`:\n\n`\"variable-conversion.disableFormat\": [ ... ],`\n\n[在 settings.json 中编辑 (Edit in settings.json)](command:workbench.action.openSettingsJson)\n\n配置后您可能需要*重启扩展宿主*,或*重启当前窗口*才可使该配置完全生效(二选一即可):\n\nYou may need to *restart extension host* or *reload window* after configuration to take full effect (either):\n\n[重启扩展宿主 (Restart Extension Host)](command:workbench.action.restartExtensionHost), [重启当前窗口 (Reload Window)](command:workbench.action.reloadWindow)",
"markdownDeprecationMessage": "**Deprecated**: Please use `#variable-conversion.enabledFormats#` instead.\n\n**已弃用**,请使用 `#variable-conversion.enabledFormats#`。",
"type": "array",
"items": {
"type": "string",
"enum": [
"camel_case",
"pascal_case",
"snake_case",
"snake_camel_case",
"snake_pascal_case",
"snake_upper_case",
"kebab_case",
"kebab_camel_case",
"kebab_pascal_case",
"kebab_upper_case",
"space_case",
"space_camel_case",
"space_pascal_case",
"space_upper_case",
"dot_case",
"dot_camel_case",
"dot_pascal_case",
"dot_upper_case",
"lower_case",
"upper_case"
],
"enumDescriptions": [
"小驼峰(驼峰)命名",
"大驼峰(帕斯卡)命名",
"下划线(蛇形)命名",
"下划线(蛇形) + 小驼峰(驼峰)命名",
"下划线(蛇形) + 大驼峰(帕斯卡)命名",
"下划线(蛇形) + 全大写命名",
"中划线(连字符/脊柱式)命名",
"中划线(连字符/脊柱式) + 小驼峰(驼峰)命名",
"中划线(连字符/脊柱式) + 大驼峰(帕斯卡)命名",
"中划线(连字符/脊柱式) + 全大写命名",
"空格分隔命名",
"空格分隔 + 小驼峰(驼峰)命名",
"空格分隔 + 大驼峰(帕斯卡)命名",
"空格分隔 + 全大写命名",
"点分隔命名",
"点分隔 + 小驼峰(驼峰)命名",
"点分隔 + 大驼峰(帕斯卡)命名",
"点分隔 + 全大写命名",
"全小写",
"全大写"
]
},
"default": []
},
"variable-conversion.disablePathFormat": {
"order": 3,
"markdownDescription": "定义哪些路径风格是禁用的\n\nDefine which path formats are disabled.\n\n若您感觉以下配置比较麻烦也可以选择在 `settings.json` 中编辑:\n\nIf you find the following configuration troublesome, you can also edit this configuration item in `settings.json`:\n\n`\"variable-conversion.disablePathFormat\": [ ... ],`\n\n[在 settings.json 中编辑 (Edit in settings.json)](command:workbench.action.openSettingsJson)\n\n配置后您可能需要*重启扩展宿主*,或*重启当前窗口*才可使该配置完全生效(二选一即可):\n\nYou may need to *restart extension host* or *reload window* after configuration to take full effect (either):\n\n[重启扩展宿主 (Restart Extension Host)](command:workbench.action.restartExtensionHost), [重启当前窗口 (Reload Window)](command:workbench.action.reloadWindow)",
"type": "array",
"items": {
"type": "string",
"enum": [
"windows_style",
"unix_style"
],
"enumDescriptions": [
"Windows 风格",
"Unix 风格"
]
},
"default": []
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"lint": "eslint src",
"test": "vscode-test",
"package": "vsce package",
"publish": "vsce publish"
},
"devDependencies": {
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@types/vscode": "^1.102.0",
"@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.31.1",
"@vscode/test-cli": "^0.0.11",
"@vscode/test-electron": "^2.5.2",
"eslint": "^9.25.1",
"typescript": "^5.8.3"
}
}