Linux下轻型编辑器geany如何格式化代码

**

前言:

**
代码编辑器无数,我独钟爱geany,无他,天下武功,唯快不破。可是如何一键格式化一团乱码的代码呢?

网上只有windows下的方法,这里当然介绍Linux下的啦!顺便鄙视下美国政府利用windows垄断监控全世界。

一、专业格式化工具 indent

1、安装
sudo apt-get install indent
2、用法
-bad:在声明区加上空白行;
-bap:添加空白行; -bbb:在注释后面添加空白行; -bc:在声明段中,如果出现逗号就换行; -bl:if(或是else、for等)与后面执行区段的“{”不同行,且“}”自成一行-bli<缩排格数>设置{}缩排的格数; -br:if(或是else、for等)与后面执行区段的“{”同行,且“}”自成一行; -bs:在sizeof之后空一格; -c<栏数>:将注释置于程序右侧指定的栏位; -cd<栏数>:将注释置于声明右侧指定的栏位; -cdb:注释符号自成一行; -ce:将else置于“}”(if执行区段的结尾)之后; -ci:<缩排格数>:叙述过长而换行时,指定换行后缩排的格数; -cli<缩排格数>:使用case时,switch缩排的格数; -cp<栏数>:将注释置于else与elseif叙述右侧指定的栏位; -cs:在case之后空一格; -d<缩排格数>:针对不是放在程序码右侧的注释,设置其缩排格数; -di<栏数>:将声明区段的变量置于指定的栏位; -fc1:针对放在每行最前端的注释,设置其格式; -fca:设置所有注释的格式; -gnu:使用指定的GNU格式,该参数为默认值; -i<格数>:设置缩排的格数; -ip<格数>:设置参数的缩排格数; -kr:指定使用Kernighan&Ritchie的格式; -lp:叙述过长而换行,且叙述中包含了括号时,将括号中的每行起始栏位内容垂直对其排列; -nbad:在声明区段后不要加上空白行; -nbap:在程序后面不添加空白行; -nbbb:在注释段后面不添加空白行; -nbc:在声明段中,即使出现逗号,也不换行; -ncdb:注释符号不自成一行; -nce:不将else置于“}”后面; -ncs:不在case后面空一格; -nfc1:不要格式化放在每行最前端的注释; -nfca:不用格式化任何的注释; -nip:参数不要缩排; -nlp:叙述过长而换行,且叙述中包含了括号时,不用将括号中的每行起始栏位垂直对其排列; -npcs:在调用函数名之后,不要添加空格; -npro:不要读取indent的配置文件“.indent.pro”; -npsl:程序类型与程序名称放在同一行; -nsc:注释左侧不要添加星号; -nsob:不用处理多余的空白行; -nss:若for或while区段仅有一行时,在分号前不加空格; -nv:不显示详细的信息; -orig:使用berkeley格式; -pcs:在调用函数名与“{”之间添加空格; -psl:程序类型置于程序名称的前一行; -sc:在每行注释左侧添加星号; -sob:删除多余的空白行; -ss:若for或swile区段仅有一行时,在分号前加上空格; -st:将结果显示在标准输出设备上; -T:数据类型名称缩排; -ts<格数>:设置tab的长度; -v:显示详细的执行过程; --version:显示版本信息。

例如:要格式化 hello1.c
indent -kr -i4 -ts8 -sob -l80 -ss -bs -bbb -bl -bli8 -nce -psl hello1.c

二、geany 站在 indent 的肩膀上

1、设置“build”命令
Linux下轻型编辑器geany如何格式化代码_第1张图片
如上图,菜单 “build”-“set"点出对话框中“文件类型无关命令”中输入:
第一列 “label” 中输入命令的名称,我输入 : formats
第二列 “command” 中输入 indent 命令
indent -kr -i4 -ts8 -sob -l80 -ss -bs -bbb -bl -bli8 -nce -psl “%f”
确定并关闭对话框。
如果要一键处理,还要在"edit”-“option”-"shortcut"中设置下快捷键。
2、使用
菜单 "build"下会多出一个叫“formats”的命令,点击一下,再“File”-"Reload"一下,代码太美了!

3、扩展其他格式化工具

如果想格式化Html等代码,可以用 tidy : sudo apt-get install tidy
还可以使用 astyle: sudo apt-get install astyle

同上述indent一样加入命令。

三、geany 编辑部分代码格式化

1、设置自定义编辑命令
菜单 “编辑”-> “格式”->“发送选中文字到”->“设置自定义命令”
   比如用astyle 格式化选中代码:

bash -c “astyle --indent-classes -Y”

参考: http://astyle.sourceforge.net/astyle.html
https://blog.csdn.net/wisepragma/article/details/80993437

    比如用 tidy 格式化选中代码:

bash -c "tidy -xml --indent auto --indent-spaces 2 --quiet yes --wrap-attributes yes "

参考: http://tidy.sourceforge.net/docs/quickref.html
Linux下轻型编辑器geany如何格式化代码_第2张图片

上图对话框右边“标签”加上标示则更好!

2、使用自定义编辑命令

在geany中选中一段或全部代码,用快捷键:

如果该命令排在第一,则使用时可以用快捷键: ctrl + 1,同理排第n就 :ctrl + n
 Linux下轻型编辑器geany如何格式化代码_第3张图片
也可以混合使用多种命令:
 html文件中全选用 tidy 格式化后,html元素排好了,但其中的 js脚本却乱了(网上格式化也是如此);此时再次部分选中js部分,用 astyle 盘它一下!
Linux下轻型编辑器geany如何格式化代码_第4张图片
Linux下轻型编辑器geany如何格式化代码_第5张图片
哈哈,规矩了! 可以选中js后Tab整体调整缩进深度。
    
      是不是舒坦多了呢!

你可能感兴趣的:(编程工具)