1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee
variable-conversion-vscode-.../GPT.md

171 lines
6.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

docs:
右键二级菜单
https://fishpi.cn/article/1630641187509
https://code.visualstudio.com/api/references/contribution-points#contributes.menus
https://code.visualstudio.com/api/references/contribution-points#contributes.submenus
>extension.toCamelCase
>Transform to
=====
请帮我用js写一个小驼峰大驼峰下划线写法互相转换的VSCode插件。实现按shift+alt+t自动在这几种模式下切换。我完全没有写过VSCode插件所以你可能需要详细告诉我每一步该怎么做谢谢你
当然可以帮助您创建一个VSCode插件涉及几个步骤包括设置项目结构、编写代码以及打包和发布插件。以下是创建您所需插件的基本步骤
1. **安装必要的软件**
- 安装最新版本的[Node.js](https://nodejs.org/)。
- 安装[Visual Studio Code](https://code.visualstudio.com/)。
2. **设置插件项目**
- 打开VSCode安装`Yeoman`和`VS Code Extension Generator`工具,通过运行以下命令:
```bash
npm install -g yo generator-code
```
- 运行生成器来创建新的插件项目:
```bash
yo code
```
- 按照提示操作,选择**TypeScript**作为项目语言,填写插件的名称和其他信息。
3. **编写插件代码**
- 在生成的项目中,打开`src/extension.ts`文件,这是插件的主要代码文件。
- 编写一个函数来转换字符串格式:
```typescript
function convertStringCase(str: string): string {
// 这里添加转换逻辑
return str;
}
```
- 注册一个命令,当用户按下`shift+alt+t`时触发字符串转换:
```typescript
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.convertCase', () => {
// 获取当前编辑器
let editor = vscode.window.activeTextEditor;
if (editor) {
let document = editor.document;
let selection = editor.selection;
// 获取选中的文本
let text = document.getText(selection);
// 转换文本
let converted = convertStringCase(text);
// 替换文本
editor.edit(editBuilder => {
editBuilder.replace(selection, converted);
});
}
});
context.subscriptions.push(disposable);
}
```
- 在`package.json`中添加键绑定:
```json
"contributes": {
"keybindings": [
{
"command": "extension.convertCase",
"key": "shift+alt+t",
"when": "editorTextFocus"
}
]
}
```
4. **测试插件**
- 在VSCode中按下`F5`来运行和测试您的插件。
5. **打包和发布**
- 使用`vsce`工具来打包您的插件:
```bash
vsce package
```
- 按照[官方文档](https://code.visualstudio.com/api/working-with-extensions/publishing-extension)发布到VSCode Marketplace。
请注意,这只是一个基本的指南,您可能需要根据您的具体需求调整代码。如果您需要更详细的帮助或有任何问题,请随时告诉我!
====================
谢谢你,那么我想添加一个右键菜单,选中文本后,可以通过右键菜单,实现转小驼峰,转大驼峰,转小写,转大写,转下划线,转中划线等功能,请问应该如何实现
要在VSCode插件中添加一个右键菜单上下文菜单您需要在`package.json`文件中使用`menus`字段。以下是您可以遵循的步骤:
1. **在`package.json`中定义上下文菜单**
- 找到`contributes`部分,并添加一个新的`menus`字段。
- 在`menus`字段中,使用`editor/context`来定义一个新的上下文菜单项。
- 为每个转换操作指定一个命令和标题。
这是一个示例:
```json
"contributes": {
"commands": [
{
"command": "extension.toCamelCase",
"title": "转小驼峰"
},
{
"command": "extension.toPascalCase",
"title": "转大驼峰"
},
// 添加其他命令...
],
"menus": {
"editor/context": [
{
"when": "editorTextFocus",
"command": "extension.toCamelCase"
},
{
"when": "editorTextFocus",
"command": "extension.toPascalCase"
},
// 添加其他菜单项...
]
}
}
```
2. **在`extension.ts`中实现命令逻辑**
- 对于每个命令,编写一个函数来执行相应的字符串转换。
- 使用`vscode.commands.registerCommand`注册每个转换函数作为命令。
这是一个示例:
```typescript
import * as vscode from 'vscode';
function toCamelCase(str: string): string {
// 实现转小驼峰的逻辑
return str.replace(/_([a-z])/g, (g) => g[1].toUpperCase());
}
function toPascalCase(str: string): string {
// 实现转大驼峰的逻辑
return str.replace(/(^\w|_\w)/g, (g) => g.toUpperCase().replace('_', ''));
}
// 注册命令
export function activate(context: vscode.ExtensionContext) {
let disposableCamel = vscode.commands.registerCommand('extension.toCamelCase', () => {
// 调用转换函数
});
let disposablePascal = vscode.commands.registerCommand('extension.toPascalCase', () => {
// 调用转换函数
});
context.subscriptions.push(disposableCamel);
context.subscriptions.push(disposablePascal);
// 注册其他命令...
}
```
3. **测试您的插件**
- 按下`F5`来运行和测试您的插件,确保上下文菜单正确显示并且命令能够正确执行。
通过这些步骤您应该能够为您的VSCode插件添加一个右键菜单并实现不同的字符串转换功能。如果您在实现过程中遇到任何问题或者需要更多帮助请随时联系我🛠