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':
是否可以在 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':