现在,该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');
具有以下颜色:
也许通过扩展或通过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] 删除。
我来说两句