ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

uroboroSQL Formatter

适用于Sublime Text 3的美丽SQL格式化工具

详情

  • 0.4.0
  • github.com
  • github.com
  • 7年前
  • 11分钟前
  • 7年前

安装

  • 总数 15K
  • Win 8K
  • Mac 5K
  • Linux 2K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 1 1 0 0 1 1 2 2 1 1 0 0 2 0 2 1 0 0 4 2 4 2 2 0 1 3 4 0 4 5 0 1 0 1 1 2 0 1 0 2 2 2 2 2 0
Mac 2 1 1 0 1 0 1 1 6 1 0 1 0 0 4 1 0 0 2 2 1 3 0 0 1 2 0 0 1 0 1 0 1 2 2 2 0 0 1 0 2 0 4 2 1
Linux 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.githubusercontent.com

Sublime uroboroSQL Formatter

Package Control

Sublime uroboroSQL Formatter常用于企业系统,为了格式化到即使是非常长的SQL(1 K步或以上) 的高可维护风格,它是Sublime Text 3的插件。

特别是,在英语不是母语的地区,如日本,注释可能包含在SELECT子句中。在这种情况下,我们将AS子句和注释的垂直位置对齐,追求可称为艺术的可见性,这是为了实现这种自动的对齐而开发的。

针对日本,Readme.ja.md

通用格式化器的情况下

SELECT MI.MAKER_CD AS ITEM_MAKER_CD -- maker code
,
       MI.BRAND_CD AS ITEM_BRAND_CD -- brand code
,
       MI.ITEM_CD AS ITEM_CD -- item code
,
       MI.CATEGORY AS ITEM_CATEGORY -- item category
FROM M_ITEM MI -- item master

WHERE 1 = 1
  AND MI.ARRIVAL_DATE = '2016-12-01' -- arrival date

Sublime uroboroSQL Formatter的情况下

SELECT
    MI.MAKER_CD AS  ITEM_MAKER_CD   -- maker code
,   MI.BRAND_CD AS  ITEM_BRAND_CD   -- brand code
,   MI.ITEM_CD  AS  ITEM_CD         -- item code
,   MI.CATEGORY AS  ITEM_CATEGORY   -- item category
FROM
    M_ITEM  MI  -- item master
WHERE
    1               =   1
AND MI.ARRIVAL_DATE =   '2016-12-01'    -- arrival date

功能

  • 通过对SELECT子句、WHERE子句中的AS和运算符进行垂直位置对齐进行格式化
  • 即使在每一行的末尾都有注释,格式也不会出错

使用方法

  • 从编辑菜单中选择“SQL格式”
  • 从编辑器的上下文菜单中选择“SQL格式”
  • 从命令面板中选择“uroboroSQL Formatter: Format SQL”
  • OS X上ctrl + cmd + f,Windows上ctrl + alt + f

设置

{
    "uf_tab_size": 4,
    "uf_translate_tabs_to_spaces": true,
    "uf_case": "upper", // "upper" or "lower" or "capitalize" or "nochange"
    "uf_reserved_case": "upper", // "upper" or "lower" or "capitalize" or "nochange"
    "uf_reserved_words":"SELECT, FROM, WHERE, CREATE", // Put commas to separate reserved words
    "uf_comment_syntax": "uroboroSQL", // "uroboroSQL" or "doma2"
    "uf_escapesequence_u005c": false,
    "uf_save_on_format": true,
    "uf_save_on_format_extensions": [".sql"]
}
  • uf_tab_size
    • 指定格式化后缩进的制表符大小。我们推荐4。
  • uf_translate_tabs_to_spaces
    • 指定格式化后缩进是制表符还是空格。将其设置为true,则变为空格。
  • uf_case
    • 如果您想将所有单词转换为特定的大小写,设置“upper”、“lower”、“capitalize”。如果选择“nochange”选项,则单词的大小写将不会从原始内容更改。
  • uf_reserved_case
    • 如果您想将保留词转换为特定的大小写,设置“upper”、“lower”或“capitalize”。如果选择“nochange”选项,则保留词的大小写将不会改变,并基于“uf_case”设置进行更改。
  • uf_reserved_words
    • 如果您只想将保留字转换为特定的大小写,请用逗号分隔保留字输入。(输入不区分大小写。因此,您可以输入任何大小的保留字。)
  • uf_comment_syntax
    • 它指定了注释语法格式。
    • 您可以选择“uroboroSQL”或“doma2”。
      • 在正常SQL的情况下,你可以任意指定。
  • uf_escapesequence_u005c
    • 如果您在SQL中已经通过反斜杠指定了转义序列来指定真值。
  • uf_save_on_format
    • 在保存文件时自动格式化时指定为真。
  • uf_save_on_format_extensions
    • 在列表中指定要格式化的文件扩展名。

许可证

python-sqlparse 库和此代码都在2-clauses BSD许可证下。


版权所有 2018 年未来建筑师。