From 9ccca7a9c66053b04225858cd35520dad4a0d7ce Mon Sep 17 00:00:00 2001 From: cweijan Date: Tue, 26 Jan 2021 11:18:24 +0800 Subject: [PATCH] Add snippets. --- CHANGELOG.md | 3 ++- README.md | 6 ++++- package.json | 10 -------- package.nls.json | 4 ---- package.nls.zh-cn.json | 4 ---- src/extension.ts | 13 ++--------- src/model/main/tableNode.ts | 12 +++------- src/service/mock/mockRunner.ts | 2 +- syntaxes/snippets.json | 42 +++++++++++++++++++++++++++++++++- 9 files changed, 54 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21e18aa..b4a1130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,12 @@ # 3.3.0 Preview - Support close connection. -- Add `sel` snippet. +- Add snippet to sql editor. - compatible with old vscode version. - Fix code len detect comment as sql. - Add context menu to result view. - Add more chinese content. +- Init design table. # 3.2.2 2020/1/25 diff --git a/README.md b/README.md index 27c3d58..37ca4be 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,11 @@ In the Database Explorer panel, click the `Open Query` button. ![newquery](images/newquery.jpg) -Now you can edit and run SQL query within the editor. +That will open a sql editor bind of database, it provider: + +1. IntelliSense sql edit. +2. snippets: `sel、del、ins、upd、joi`... +3. run sql. ![run](images/run.jpg) diff --git a/package.json b/package.json index 9fc70e4..0d8cc39 100644 --- a/package.json +++ b/package.json @@ -234,11 +234,6 @@ "dark": "resources/dark/query.svg" } }, - { - "command": "mysql.template.sql", - "title": "%command.template.sql%", - "category": "MySQL" - }, { "command": "mysql.data.import", "title": "%command.data.import%", @@ -735,11 +730,6 @@ "when": "view =~ /cweijan.+?ql/ && viewItem =~ /^(table|view)$/", "group": "1_inline1@3" }, - { - "command": "mysql.template.sql", - "when": "view =~ /cweijan.+?ql/ && viewItem == table", - "group": "1_mysql@0" - }, { "command": "mysql.table.truncate", "when": "view =~ /cweijan.+?ql/ && viewItem == table", diff --git a/package.nls.json b/package.nls.json index 24ec823..ed1b33f 100644 --- a/package.nls.json +++ b/package.nls.json @@ -20,13 +20,9 @@ "command.db.drop": "Drop Database", "command.runQuery": "Run MySQL Query", "command.query.switch": "Open Query", - "command.template.sql": "Select SQL Template", - "command.template.delete": "Delete SQL Template", "command.data.import": "Import Sql", "command.data.export": "Export Data", "command.struct.export": "Export Struct", - "command.copy.insert": "Insert SQL Template", - "command.copy.update": "Update SQL Template", "command.db.active": "Change Active Database", "command.table.truncate": "Truncate Table", "command.db.truncate": "Truncate Database", diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index 9bdfc6b..0a91d35 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -20,13 +20,9 @@ "command.db.drop": "删除数据库", "command.runQuery": "执行Sql", "command.query.switch": "打开查询", - "command.template.sql": "查询SQL模板", - "command.template.delete": "Delete SQL模板", "command.data.import": "导入Sql文件", "command.data.export": "导出数据", "command.struct.export": "导出表结构", - "command.copy.insert": "Insert SQL模板", - "command.copy.update": "Update SQL模板", "command.db.active": "修改活动数据库", "command.table.truncate": "清空表", "command.db.truncate": "清空数据库", diff --git a/src/extension.ts b/src/extension.ts index bca78cb..1e9e562 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -244,8 +244,8 @@ export function activate(context: vscode.ExtensionContext) { }, // template ...{ - "mysql.template.sql": (tableNode: TableNode, run: boolean) => { - tableNode.selectSqlTemplate(run); + "mysql.table.find": (tableNode: TableNode) => { + tableNode.openTable(); }, "mysql.codeLens.run": (sql:string) => { QueryUnit.runQuery(sql) @@ -253,15 +253,6 @@ export function activate(context: vscode.ExtensionContext) { "mysql.table.design": (tableNode: TableNode) => { tableNode.designTable(); }, - "mysql.template.delete": (tableNode: TableNode) => { - tableNode.deleteSqlTemplate(); - }, - "mysql.copy.insert": (tableNode: TableNode) => { - tableNode.insertSqlTemplate(); - }, - "mysql.copy.update": (tableNode: TableNode) => { - tableNode.updateSqlTemplate(); - }, }, // show source ...{ diff --git a/src/model/main/tableNode.ts b/src/model/main/tableNode.ts index a5a9376..fdc7c12 100644 --- a/src/model/main/tableNode.ts +++ b/src/model/main/tableNode.ts @@ -28,7 +28,7 @@ export class TableNode extends Node implements CopyAble { this.init(parent) this.cacheSelf() this.command = { - command: "mysql.template.sql", + command: "mysql.table.find", title: "Run Select Statement", arguments: [this, true], } @@ -169,16 +169,10 @@ export class TableNode extends Node implements CopyAble { QueryUnit.runQuery(this.dialect.countSql(this.wrap(this.database), this.wrap(this.table)), this); } - public async selectSqlTemplate(run: boolean) { + public async openTable() { const pageSize = Global.getConfig(ConfigKey.DEFAULT_LIMIT); const sql = this.dialect.buildPageSql(this.wrap(this.database), this.wrap(this.table), pageSize); - - if (run) { - QueryUnit.runQuery(sql, this); - } else { - QueryUnit.showSQLTextDocument(this, sql, Template.table); - } - + QueryUnit.runQuery(sql, this); } public insertSqlTemplate(show: boolean = true): Promise { diff --git a/src/service/mock/mockRunner.ts b/src/service/mock/mockRunner.ts index a7c7521..6e3769b 100644 --- a/src/service/mock/mockRunner.ts +++ b/src/service/mock/mockRunner.ts @@ -86,7 +86,7 @@ export class MockRunner { const connection = await ConnectionManager.getConnection({ ...tableNode } as any as Node) const success = await QueryUnit.runBatch(connection, sqlList) - vscode.commands.executeCommand("mysql.template.sql", tableNode, true) + vscode.commands.executeCommand("mysql.table.find", tableNode, true) QueryPage.send({ connection: tableNode, type: MessageType.MESSAGE, res: { message: `Generate mock data for ${tableNode.table} ${success ? 'success' : 'fail'}!`, success } as MessageResponse }); } diff --git a/syntaxes/snippets.json b/syntaxes/snippets.json index 8d5119e..2b56ab3 100644 --- a/syntaxes/snippets.json +++ b/syntaxes/snippets.json @@ -2,7 +2,47 @@ "SelectTemplate": { "prefix": "sel", "body": [ - "SELECT * FROM $1" + "SELECT * FROM " + ] + }, + "SelectWhereTemplate": { + "prefix": "selw", + "body": [ + "SELECT * FROM $1 WHERE $2" + ] + }, + "DeleteTemplate": { + "prefix": "del", + "body": [ + "DELETE FROM " + ] + }, + "DeleteWhereTemplate": { + "prefix": "delw", + "body": [ + "DELETE FROM $1 WHERE $2" + ] + }, + "InsertTemplate": { + "prefix": "ins", + "body": [ + "INSERT INTO $1 VALUES ($2)" + ] + }, + "UpdateTemplate": { + "prefix": "upd", + "body": [ + "UPDATE $1 SET $2 WHERE $3" + ] + },"JoinTemplate": { + "prefix": "joi", + "body": [ + "JOIN $1 ON $2" + ] + },"BetweenTemplate": { + "prefix": "bet", + "body": [ + "BETWEEN $1 AND $2" ] } } \ No newline at end of file