如何在vscode / Visual Studio代码中的javascript / node.js文件中语法高亮显示/自动完成/自动格式化sql命令?

Cutomo

.js文件中的颜色突出显示

.sql文件中的颜色突出显示

现在,该sql命令被视为一个字符串,并且如果在javascript函数内部,则必须由capslock手动设置其格式。例如:

const sqlite3 = require('sqlite3').verbose();

let db = new sqlite3.Database('../db/test.db');

let sql = `create table person (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    gender VARCHAR(6) NOT NULL,
    date_of_birth DATE NOT NULL,
    email VARCHAR(150));
insert into person (first_name, last_name, gender, date_of_birth) values ('Anne', 'Smith', 'Female', '1988-01-09');
insert into person (first_name, last_name, email, gender, date_of_birth) values ('Jake', 'Jones', '[email protected]', 'Male', '1990-12-31');`;

长条sql命令将在我的vscode中显示为绿色文本块(按照我的字符串配色方案)

所需的配色方案就好像我将其放在sql文件中一样,例如:

create table person (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    gender VARCHAR(6) NOT NULL,
    date_of_birth DATE NOT NULL,
    email VARCHAR(150));
enter image description hereinsert into person (first_name, last_name, gender, date_of_birth) values ('Anne', 'Smith', 'Female', '1988-01-09');
insert into person (first_name, last_name, email, gender, date_of_birth) values ('Jake', 'Jones', '[email protected]', 'Male', '1990-12-31');

具有以下颜色:

  • 橙色,表示创建表,插入,非空,主键,varchar等单词
  • 白色代表人物,身份证,名字,姓氏,性别等
  • “ Anne”,“ Smith”,“ [email protected]”等为绿色
  • 紫色代表bigserial(由于某种原因,颜色在stackoverflow的代码块上不显示)

也许通过扩展或通过vscode设置?

克里斯

对于仅语法突出显示而言,这似乎很好用:https : //marketplace.visualstudio.com/items?itemName=forbeslindesay.vscode-sql-template-literal

通过激活以开头的模板文字的SQL语法高亮显示sql,例如

const query = sql`SELECT * FROM articles;`

然后,您需要使用具有sql标签功能的库,或者像下面这样制作一个虚拟对象,以按预期方式传递模板字符串内容:

// TypeScript
const sql = (strings: TemplateStringsArray, ...expr: any[]) =>
  strings
    .map((str, index) => str + (expr.length > index ? String(expr[index]) : ''))
    .join('');

// ES6
const sql = (strings, ...expr) =>
  strings
    .map((str, index) => str + (expr.length > index ? String(expr[index]) : ''))
    .join('')

还有一个扩展,它有更多的花哨功能(对Postgres进行语法检查),但是使用相同的模板文字方法。不过,我自己还没有尝试过。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章