Goland能否针对第三方SQL包配置SQL语句自动补全?
在GoLand中为sqlx配置SQL自动补全
Absolutely! GoLand完全支持配置自定义函数来触发SQL自动补全,刚好能解决你用sqlx时遇到的问题。下面是一步步的配置方法:
- 打开GoLand的设置界面(Windows/Linux用快捷键
Ctrl+Alt+S,macOS用Cmd+,) - 导航到 Languages & Frameworks > SQL Dialects > User-Defined
- 点击**+**按钮添加新的自定义配置:
- 名称:起个清晰的名字,比如
sqlx SQL 方法补全 - 匹配模式:输入你常用的sqlx方法的完整路径,比如:
github.com/jmoiron/sqlx.DB.Getgithub.com/jmoiron/sqlx.DB.Selectgithub.com/jmoiron/sqlx.DB.Execgithub.com/jmoiron/sqlx.Tx.Get(如果用到sqlx事务的话)
- 参数索引:告诉GoLand哪个参数是SQL语句。像
Get(&user, query, args...)这种,SQL是第二个参数(索引从1开始),所以填2;而Exec(query, args...)里SQL是第一个参数,填1就行。 - SQL方言:选择你的项目使用的数据库方言(PostgreSQL、MySQL、SQLite等)
- 名称:起个清晰的名字,比如
- 点击Apply和OK保存设置
配置完成后回到你的sqlx代码里试试,比如输入someDB.Get(&user, SELECT * FROM ),GoLand就会像处理标准sql.DB包一样触发SQL自动补全,包括数据库里的表名、列名甚至DDL相关的内容都能补全到。
小提示:如果你还用到NamedQuery、NamedExec这类sqlx方法,也可以把它们添加到自定义列表里,只要对应好SQL语句所在的参数索引就行。
内容的提问来源于stack exchange,提问作者Duncan Jones
相关产品推荐
相关产品推荐

