IntelliJ 能否将 SQL 代码格式化为关键字右对齐、其他内容左对齐?

Bas*_*que 5 sql code-formatting intellij-idea

是否可以在 IntelliJ 中为 SQL 代码创建这种格式?

SELECT p.PersonId,
       p.FirstName,
       p.LastName,
       c.Name
  FROM Person AS p 
  JOIN City AS c 
    ON p.CityId = c.CityId;
Run Code Online (Sandbox Code Playgroud)

本文讨论这种风格的优点。我想在 IntelliJ 2019 中尝试一下。

Pod*_*kes 2

这是通过调整 IntelliJ 设置来格式化查询所能达到的效果Code Style > SQL > Queries

选择查询格式示例

要实现此目的,请将Align the first word of clause属性设置为To left with indent。但是,正如您所注意到的,ON关键字没有根据请求的样式对齐。不幸的是,这是 IntelliJ 的一个已知限制,因为属性JOIN indented下的 SQL 格式化程序中不存在任何选项(请参阅链接)。SELECT > FROM > Place ON/USING under

JOIN 缩进缺失

我还没有在更复杂的查询上测试它,但我相信会出现更多问题。因此,恐怕截至 2019 年 7 月,您问题的答案是否定的,此类格式化应手动完成(至少在 IntelliJ、DataGrip 和 JetBrains 创建的类似工具中)。