IntelliJ 可以格式化 SQL 关键字右对齐其他内容左对齐的代码吗?

Can IntelliJ format SQL code with keywords right-aligned and other content left-aligned?

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

SELECT p.PersonId,
       p.FirstName,
       p.LastName,
       c.Name
  FROM Person AS p 
  JOIN City AS c 
    ON p.CityId = c.CityId;

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

这是通过调整 IntelliJ 的 Code Style > SQL > Queries 设置来设置查询格式的最大程度。

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

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

设置设置(macOS 上的首选项)|编辑|代码风格 | SQL | MySQL |查询 |常见 | 对齐子句选项的第一个单词'To right':