1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

12 Commits

Author SHA1 Message Date
7428dd0748 Merge branch 'main' into release 2024-07-29 23:51:22 +08:00
7b4a0667e6 版本号更新为 1.1.0;更新 CHANGELOG.md 2024-07-29 23:49:46 +08:00
3fb3e7a083 Merge branch 'feature-vscode-settings' 2024-07-29 23:40:05 +08:00
程序员小墨
9021df5ea8 支持通过VSCode设置页配置哪些格式是禁用的 (#2)
* 添加 VSCode 配置项 (逻辑待实现)

* QuickPick 菜单支持过滤用户配置的禁用格式 (disableFormat)

* 右键菜单支持过滤用户配置的禁用格式 (disableFormat)

* 快捷键循环转换支持过滤用户配置的禁用格式 (disableFormat)

* 为了发版暂时隐藏未开发完成的 variable-conversion.circularConversionFormatOrder 配置项

* 配置项描述调整:中文在前英文在后

* 更新 README.md 自述文档
2024-07-29 23:39:18 +08:00
bcecab5425 更新 README.md 自述文档 2024-07-29 23:35:37 +08:00
8cf0bae1d0 配置项描述调整:中文在前英文在后 2024-07-29 23:14:32 +08:00
d07981febd 为了发版暂时隐藏未开发完成的 variable-conversion.circularConversionFormatOrder 配置项 2024-07-29 23:05:56 +08:00
ad6bd43e82 Merge branch 'main' into release 2024-07-29 00:50:15 +08:00
da741a6e24 Merge branch 'main' into release 2024-07-28 21:10:16 +08:00
6e00fbb107 Merge branch 'main' into release 2024-04-10 00:38:25 +08:00
0d92fbe4ec Merge branch 'main' into release 2024-04-09 14:17:39 +08:00
zhangbk1
50354d52b8 删除对打包无用文件 2024-04-07 17:16:00 +08:00
7 changed files with 23 additions and 736 deletions

View File

@@ -23,11 +23,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
--> -->
## 1.1.0
### Added
- Support configuring which formats are disabled through the VSCode settings page. It will apply to QuickPick menu conversions, context menu conversions, and shortcut key cyclic conversions. (支持通过 VSCode 设置页配置哪些格式是禁用的。配置后将同时对 QuickPick 菜单转换、右键菜单转换、快捷键循环转换生效)
## 1.0.11 ## 1.0.11
### Improvement ### Improvement
- Imperfect support: When a sub window is activated, clicking on the status bar of the main window can correctly bring up the QuickPick menu. 不完美支持:当子窗口激活时,点击主窗口状态栏能够正确弹出快速拾取菜单 - Imperfect support: When a sub window is activated, clicking on the status bar of the main window can correctly bring up the QuickPick menu. (不完美支持:当子窗口激活时,点击主窗口状态栏能够正确弹出快速拾取菜单)
## 1.0.10 ## 1.0.10

View File

@@ -1,71 +0,0 @@
# 如何发行你的插件
vsce login coder-xiaomo
重要!删除 out 目录,并切到 release 分支再进行打包,避免打入其他无用文件
vsce publish
INFO Publishing 'coder-xiaomo.variable-conversion v0.0.1'...
INFO Extension URL (might take a few minutes): https://marketplace.visualstudio.com/items?itemName=coder-xiaomo.variable-conversion
INFO Hub URL: https://marketplace.visualstudio.com/manage/publishers/coder-xiaomo/extensions/variable-conversion/hub
DONE Published coder-xiaomo.variable-conversion v0.0.1.
具体步骤参考:
https://zhuanlan.zhihu.com/p/339695661
## 安装官方打包工具
首先我们要安装上这个官方的插件发行工具,可以把我们的插件工程打包成.vsix文件也可以直接发布到插件市场当中
npm i vsce -g
后面使用命令发行插件时如果你没有设置package.json里的repository会收到提示。但不是非要填插件可以不开源选N即可。
## 打包成 .vsix 文件
vsce package
打包完成后,会在工程目录生成.vsix文件这个文件的安装只能通过插件搜索右上方的菜单来进行
## 把插件发行到插件市场
### 注册Azure开发者账号
先得有一个 微软通行证 https://login.live.com/ ,然后打开 azure开发者中心 https://aka.ms/SignupAzureDevOps ,新建一个 azure开发组织。
#### 新建个人令牌
注意选择 Full access 和 过期时间,如果令牌过期,需要回到这个页面再新建令牌。
这步之后,一定要复制并保存好你的令牌字符串哦。之后只能新建,是找不到的。
### 注册插件市场发行账户
接着我们 注册插件市场发行账号,也在这可以管理所有市场中自己发布的插件。
当然我们也可以使用vsce命令来创建发行账户
vsce create-publisher 发行账户名称
## 发行
vsce publish
这个过程里还会检查一些package.json的必填项一切无误的话就会看到下面这个图
发行成功啦!
但此时我们的插件在市场中还搜不到等个5-10分钟一般就有了。
## 注意事项
README.md是插件主页的详情介绍
记得更新package.json里的版本号
如果package.json中填写了repository字段在发布时会要求你先提交仓库
README.md中的图片资源必须全部是HTTPS的
CHANGELOG.md是插件主页的变更选项卡
一但用户安装了你的插件,只要不卸载,插件有新版时后会自动更新的。

View File

@@ -20,7 +20,7 @@ Select what you want to convert in the editor, and then press `Ctrl + Alt + [` o
![](image/cyclic-conversion.gif) ![](image/cyclic-conversion.gif)
### 基础转换 ### 基础转换 Basic conversion
**1. 选中代码中需要转换的内容** **Select The Text To Convert** **1. 选中代码中需要转换的内容** **Select The Text To Convert**
@@ -47,7 +47,7 @@ Or right-click on the selected text -> Convert string to...
**3. 选择转换目标,转换完成** **Select the conversion target and complete** **3. 选择转换目标,转换完成** **Select the conversion target and complete**
## 快捷键 ## 快捷键 Shortcut key
| 功能 Feature | 快捷键 shortcut key | | 功能 Feature | 快捷键 shortcut key |
| ------------------------------------------------ | ------------------- | | ------------------------------------------------ | ------------------- |
@@ -55,6 +55,12 @@ Or right-click on the selected text -> Convert string to...
| 循环转换→上一个 Cyclic conversion → Previous one | Ctrl + Alt + [ | | 循环转换→上一个 Cyclic conversion → Previous one | Ctrl + Alt + [ |
| 循环转换→下一个 Cyclic conversion → Next one | Ctrl + Alt + ] | | 循环转换→下一个 Cyclic conversion → Next one | Ctrl + Alt + ] |
## 配置项 configurations
| 配置项 Configuration Key | 描述 Description | 配置示例 | 默认值 |
| ----------------------------------- | ------------------------------------------------------------ | ------------------------------ | ------ |
| `variable-conversion.disableFormat` | 定义哪些格式是禁用的<br />Define which formats are disabled. | `["lower_case", "upper_case"]` | `[]` |
## 支持的类型 Support Case ## 支持的类型 Support Case
| 类型 | Case | 举例 e.g. | | 类型 | Case | 举例 e.g. |
@@ -82,7 +88,7 @@ Or right-click on the selected text -> Convert string to...
## 小提示 Tips ## 小提示 Tips
#### 关于文本选区... #### 关于文本选区... About text selections...
- 可以先按住 `Alt` 键不放,再鼠标先后选中多个选区 - 可以先按住 `Alt` 键不放,再鼠标先后选中多个选区
You can first hold down `Alt`, and then use the mouse to select multiple selection You can first hold down `Alt`, and then use the mouse to select multiple selection
@@ -107,4 +113,6 @@ Gitee Mirror (码云镜像): https://gitee.com/coder-xiaomo/variable-conversion-
----- -----
**玩得开心!**
**Enjoy!** **Enjoy!**

View File

@@ -1,563 +0,0 @@
{
// 插件 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.",
// 版本号
"version": "1.0.11",
// logo
"icon": "image/logo.png",
"publisher": "coder-xiaomo",
"engines": {
"vscode": "^1.87.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": {
// 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": "变量转换(下一个)"
// },
/**
*
*/
{
"command": "variable-conversion.convertCase",
"title": "变量转换"
},
/**
* -
*/
// group-1-camel
{
"command": "variable-conversion.toCamelCase",
"title": "小驼峰(驼峰)命名 (Camel Case) [ fooBar ]"
},
{
"command": "variable-conversion.toPascalCase",
"title": "大驼峰(帕斯卡)命名 (Pascal Case) [ FooBar ]"
},
// group-2-snake
{
"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 ]"
},
// group-3-kebab
{
"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 ]"
},
// 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 ]"
},
{
"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
{
"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"
},
// group-2-snake
{
"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"
},
// group-3-kebab
{
"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"
},
// group-4-space
{
"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"
},
// group-5-dot
{
"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"
},
// group-6-upper-lower
{
"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"
}
// 隐藏菜单项
// {
// "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": "将变量转换为..."
}
],
// docs: https://code.visualstudio.com/api/references/contribution-points#contributes.configuration
"configuration": {
"title": "Variable Conversion 变量转换",
"properties": {
// 仅测试用
// "variable-conversion.test1": {
// "title": "定义转换格式的排序",
// "description": "Defines the ordering of the conversion format.\n定义转换格式的排序",
// "type": "array",
// "default": [
// "camelCase",
// "snake_case",
// "PascalCase"
// ]
// },
// "variable-conversion.enableFormat": {
// "type": "object",
// "default": {
// "camelCase": true,
// "snake_case": true,
// "PascalCase": true
// },
// "description": "Define which formats are enabled.\n定义哪些格式是开启的"
// },
//
// 全小写命名
// lower_case(全小写), snake_case(下划线), kebab_case(连字符), space_case(空格), dot_case(点)
// 全大写命名
// upper_case(全大写), snake_upper_case(下划线), kebab_upper_case(连字符), space_upper_case(空格), dot_upper_case(点)
// 大驼峰命名
// pascal_case(大驼峰), snake_pascal_case(下划线), kebab_pascal_case(连字符), space_pascal_case(空格), dot_pascal_case(点)
// 小驼峰命名
// camel_case(小驼峰), snake_camel_case(下划线), kebab_camel_case(连字符), space_camel_case(空格), dot_camel_case(点)
"variable-conversion.disableFormat": {
"order": 1,
"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": [],
// markdownDescription 最多配置 11 行
"markdownDescription": "Define which formats are disabled.\n\n定义哪些格式是禁用的\n\nIf you find the following configuration troublesome, you can also edit this configuration item in `settings.json`:\n\n若您感觉以下配置比较麻烦也可以选择在 `settings.json` 中编辑:\n\n`\"variable-conversion.disableFormat\": [ ... ],`\n\n[Edit in settings.json (在 settings.json 中编辑)](command:workbench.action.openSettingsJson)\n\nYou may need to *restart extension host* or *reload window* after configuration to take full effect (either):\n\n配置后您可能需要*重启扩展宿主*,或*重启当前窗口*才可使该配置完全生效(二选一即可):\n\n[Restart Extension Host (重启扩展宿主)](command:workbench.action.restartExtensionHost), [Reload Window (重启当前窗口)](command:workbench.action.reloadWindow)"
},
"variable-conversion.circularConversionFormatOrder": {
"order": 2,
"title": "定义循环转换快捷键的目标格式排序",
// "description": "Defines the destination format ordering of the circular conversion shortcut.\n定义循环转换快捷键的目标格式排序",
// markdownDescription 最多配置 11 行
// "markdownDescription": "Defines the destination format ordering of the circular conversion shortcut, separated by commas.\n\n 定义循环转换快捷键的目标格式排序,以英文逗号分隔\n\n Target formats that are not in the following configuration list will appear last in the following custom order in the default order.\n\n不在以下配置列表中的目标格式将按照默认顺序排在以下自定义顺序最后\n\n 🌟Lower Case 全小写命名: `lower_case`(全小写), `snake_case`(下划线), `kebab_case`(连字符), `space_case`(空格), `dot_case`(点)\n\n 🌟Upper Case 全大写命名: `upper_case`(全大写), `snake_upper_case`(下划线), `kebab_upper_case`(连字符), `space_upper_case`(空格), `dot_upper_case`(点)\n\n 🌟Pascal Case 大驼峰命名: `pascal_case`(大驼峰), `snake_pascal_case`(下划线), `kebab_pascal_case`(连字符), `space_pascal_case`(空格), `dot_pascal_case`(点)\n\n 🌟Camel Case 小驼峰命名: `camel_case`(小驼峰), `snake_camel_case`(下划线), `kebab_camel_case`(连字符), `space_camel_case`(空格), `dot_camel_case`(点)\n\n🐳Default value 默认值: `camel_case, snake_case, pascal_case, kebab_case, space_case, dot_case, snake_upper_case, kebab_upper_case, space_upper_case, dot_upper_case, snake_pascal_case, kebab_pascal_case, space_pascal_case, dot_pascal_case, snake_camel_case, kebab_camel_case, space_camel_case, dot_camel_case, lower_case, upper_case`\n\n If you find the following configuration troublesome, you can also edit this configuration item in `settings.json`. 若您感觉以下配置比较麻烦,也可以选择在 `settings.json` 中编辑: `\"variable-conversion.circularConversionFormatOrder\": \"...\",` [Edit in settings.json (在 settings.json 中编辑)](command:workbench.action.openSettingsJson)",
"markdownDescription": "Defines the destination format ordering of the circular conversion shortcut, separated by commas. (Target formats that are not in the following configuration list will appear last in the following custom order in the default order.)\n\n 定义循环转换快捷键的目标格式排序,以英文逗号分隔。不在以下配置列表中的目标格式,将按照默认顺序排在以下自定义顺序最后\n\n 📌Please [edit this configuration in `settings.json`](command:workbench.action.openSettingsJson), **instead of** using the drop-down box on the settings page.\n\n 📌请[在 `settings.json` 中编辑该配置](command:workbench.action.openSettingsJson)**不要使用**设置页面的下拉框进行配置: `\"variable-conversion.circularConversionFormatOrder\": [ ... ],`\n\n 🐳Default value 默认值: `\"variable-conversion.circularConversionFormatOrder\": [ \"camel_case\", \"snake_case\", \"pascal_case\", \"kebab_case\", \"space_case\", \"dot_case\", \"snake_upper_case\", \"kebab_upper_case\", \"space_upper_case\", \"dot_upper_case\", \"snake_pascal_case\", \"kebab_pascal_case\", \"space_pascal_case\", \"dot_pascal_case\", \"snake_camel_case\", \"kebab_camel_case\", \"space_camel_case\", \"dot_camel_case\", \"lower_case\", \"upper_case\" ],`\n\n 👉Configuration item meaning 配置项说明\n\n 🌟Lower Case 全小写命名: `lower_case`(全小写), `snake_case`(下划线), `kebab_case`(连字符), `space_case`(空格), `dot_case`(点)\n\n 🌟Upper Case 全大写命名: `upper_case`(全大写), `snake_upper_case`(下划线), `kebab_upper_case`(连字符), `space_upper_case`(空格), `dot_upper_case`(点)\n\n 🌟Pascal Case 大驼峰命名: `pascal_case`(大驼峰), `snake_pascal_case`(下划线), `kebab_pascal_case`(连字符), `space_pascal_case`(空格), `dot_pascal_case`(点)\n\n 🌟Camel Case 小驼峰命名: `camel_case`(小驼峰), `snake_camel_case`(下划线), `kebab_camel_case`(连字符), `space_camel_case`(空格), `dot_camel_case`(点)",
// "type": "string",
// "default": "camel_case, snake_case, pascal_case, kebab_case, space_case, dot_case, snake_upper_case, kebab_upper_case, space_upper_case, dot_upper_case, snake_pascal_case, kebab_pascal_case, space_pascal_case, dot_pascal_case, snake_camel_case, kebab_camel_case, space_camel_case, dot_camel_case, lower_case, upper_case"
"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": [
"camel_case",
"snake_case",
"pascal_case",
"kebab_case",
"space_case",
"dot_case",
"snake_upper_case",
"kebab_upper_case",
"space_upper_case",
"dot_upper_case",
"snake_pascal_case",
"kebab_pascal_case",
"space_pascal_case",
"dot_pascal_case",
"snake_camel_case",
"kebab_camel_case",
"space_camel_case",
"dot_camel_case",
"lower_case",
"upper_case"
]
}
}
}
},
"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"
}
}

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "variable-conversion", "name": "variable-conversion",
"version": "1.0.11", "version": "1.1.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "variable-conversion", "name": "variable-conversion",
"version": "1.0.11", "version": "1.1.0",
"devDependencies": { "devDependencies": {
"@types/mocha": "^10.0.6", "@types/mocha": "^10.0.6",
"@types/node": "18.x", "@types/node": "18.x",

View File

@@ -2,7 +2,7 @@
"name": "variable-conversion", "name": "variable-conversion",
"displayName": "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.", "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": "1.0.11", "version": "1.1.0",
"icon": "image/logo.png", "icon": "image/logo.png",
"publisher": "coder-xiaomo", "publisher": "coder-xiaomo",
"engines": { "engines": {
@@ -267,6 +267,7 @@
"properties": { "properties": {
"variable-conversion.disableFormat": { "variable-conversion.disableFormat": {
"order": 1, "order": 1,
"markdownDescription": "定义哪些格式是禁用的\n\nDefine which 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)",
"type": "array", "type": "array",
"items": { "items": {
"type": "string", "type": "string",
@@ -315,83 +316,7 @@
"全大写" "全大写"
] ]
}, },
"default": [], "default": []
"markdownDescription": "Define which formats are disabled.\n\n定义哪些格式是禁用的\n\nIf you find the following configuration troublesome, you can also edit this configuration item in `settings.json`:\n\n若您感觉以下配置比较麻烦也可以选择在 `settings.json` 中编辑:\n\n`\"variable-conversion.disableFormat\": [ ... ],`\n\n[Edit in settings.json (在 settings.json 中编辑)](command:workbench.action.openSettingsJson)\n\nYou may need to *restart extension host* or *reload window* after configuration to take full effect (either):\n\n配置后您可能需要*重启扩展宿主*,或*重启当前窗口*才可使该配置完全生效(二选一即可):\n\n[Restart Extension Host (重启扩展宿主)](command:workbench.action.restartExtensionHost), [Reload Window (重启当前窗口)](command:workbench.action.reloadWindow)"
},
"variable-conversion.circularConversionFormatOrder": {
"order": 2,
"title": "定义循环转换快捷键的目标格式排序",
"markdownDescription": "Defines the destination format ordering of the circular conversion shortcut, separated by commas. (Target formats that are not in the following configuration list will appear last in the following custom order in the default order.)\n\n 定义循环转换快捷键的目标格式排序,以英文逗号分隔。不在以下配置列表中的目标格式,将按照默认顺序排在以下自定义顺序最后\n\n 📌Please [edit this configuration in `settings.json`](command:workbench.action.openSettingsJson), **instead of** using the drop-down box on the settings page.\n\n 📌请[在 `settings.json` 中编辑该配置](command:workbench.action.openSettingsJson)**不要使用**设置页面的下拉框进行配置: `\"variable-conversion.circularConversionFormatOrder\": [ ... ],`\n\n 🐳Default value 默认值: `\"variable-conversion.circularConversionFormatOrder\": [ \"camel_case\", \"snake_case\", \"pascal_case\", \"kebab_case\", \"space_case\", \"dot_case\", \"snake_upper_case\", \"kebab_upper_case\", \"space_upper_case\", \"dot_upper_case\", \"snake_pascal_case\", \"kebab_pascal_case\", \"space_pascal_case\", \"dot_pascal_case\", \"snake_camel_case\", \"kebab_camel_case\", \"space_camel_case\", \"dot_camel_case\", \"lower_case\", \"upper_case\" ],`\n\n 👉Configuration item meaning 配置项说明\n\n 🌟Lower Case 全小写命名: `lower_case`(全小写), `snake_case`(下划线), `kebab_case`(连字符), `space_case`(空格), `dot_case`(点)\n\n 🌟Upper Case 全大写命名: `upper_case`(全大写), `snake_upper_case`(下划线), `kebab_upper_case`(连字符), `space_upper_case`(空格), `dot_upper_case`(点)\n\n 🌟Pascal Case 大驼峰命名: `pascal_case`(大驼峰), `snake_pascal_case`(下划线), `kebab_pascal_case`(连字符), `space_pascal_case`(空格), `dot_pascal_case`(点)\n\n 🌟Camel Case 小驼峰命名: `camel_case`(小驼峰), `snake_camel_case`(下划线), `kebab_camel_case`(连字符), `space_camel_case`(空格), `dot_camel_case`(点)",
"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": [
"camel_case",
"snake_case",
"pascal_case",
"kebab_case",
"space_case",
"dot_case",
"snake_upper_case",
"kebab_upper_case",
"space_upper_case",
"dot_upper_case",
"snake_pascal_case",
"kebab_pascal_case",
"space_pascal_case",
"dot_pascal_case",
"snake_camel_case",
"kebab_camel_case",
"space_camel_case",
"dot_camel_case",
"lower_case",
"upper_case"
]
} }
} }
} }

View File

@@ -1,18 +0,0 @@
```javascript
// 小驼峰
const helloWorld = ''
// 大驼峰
const HelloWorld = ''
// 下划线 + 首字母大写
const Hello_World = ''
// 下划线 + 全小写
const hello_world = ''
// 下划线 + 全大写
const HELLO_WORLD = ''
// 小写
const helloworld = ''
// 大写
const HELLOWORLD = ''
// 加空格
const a = 'hello world'
```