fix: sql提示bug修复

This commit is contained in:
刘宗洋
2023-02-14 12:23:38 +08:00
parent 641c2abb24
commit 7e4152ad6d
2 changed files with 8 additions and 5 deletions

View File

@@ -4,6 +4,8 @@
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
"preview": "vite preview",
"build-preview": "npm run build && npm run preview",
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/" "lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/"
}, },
"dependencies": { "dependencies": {

View File

@@ -266,7 +266,8 @@ const registerSqlCompletionItemProvider = () => {
// 如果是.触发代码提示,则进行【 库.表名联想 】 或 【 表别名.表字段联想 】 // 如果是.触发代码提示,则进行【 库.表名联想 】 或 【 表别名.表字段联想 】
let str = lastToken.substring(0, lastToken.lastIndexOf('.')) let str = lastToken.substring(0, lastToken.lastIndexOf('.'))
// 库.表名联想 // 库.表名联想
if (dbs.indexOf(str) > -1) {
if (dbs.filter((a:any)=>a.name.indexOf(str)> -1)?.length > 0) {
let tables = await dbInst.loadTables(str) let tables = await dbInst.loadTables(str)
let suggestions: languages.CompletionItem[] = [] let suggestions: languages.CompletionItem[] = []
for (let item of tables) { for (let item of tables) {
@@ -302,7 +303,7 @@ const registerSqlCompletionItemProvider = () => {
let dbHits = await dbInst.loadDbHints(db) let dbHits = await dbInst.loadDbHints(db)
let columns = dbHits[table] let columns = dbHits[table]
let suggestions: languages.CompletionItem[] = [] let suggestions: languages.CompletionItem[] = []
columns.forEach((a: string, index: any) => { columns?.forEach((a: string, index: any) => {
// 字段数据格式 字段名 字段注释, 如: create_time [datetime][创建时间] // 字段数据格式 字段名 字段注释, 如: create_time [datetime][创建时间]
const nameAndComment = a.split(" ") const nameAndComment = a.split(" ")
const fieldName = nameAndComment[0] const fieldName = nameAndComment[0]
@@ -376,14 +377,14 @@ const registerSqlCompletionItemProvider = () => {
}) })
// 库名提示 // 库名提示
dbs.forEach((a: string) => { dbs.forEach((a: any) => {
suggestions.push({ suggestions.push({
label: { label: {
label: a, label: a.name,
description: 'schema' description: 'schema'
}, },
kind: monaco.languages.CompletionItemKind.Folder, kind: monaco.languages.CompletionItemKind.Folder,
insertText: a, insertText: a.name,
range range
}); });
}) })