sublimetext格式化bash插件

SublimeBashTidy

一直很喜欢Sublime Text,也有非常多的插件,对于Coder来说,代码规范看着就会觉得赏心悦目,所以很喜欢那些tidy的插件,可以自动将代码格式化,但是没有找到bash的tidy插件

做运维的bash绝对不会少写,一些简单的脚本可以直接在一行命令里搞定,但是比较复杂的,还是喜欢在编辑器里写,没有tidy插件让我很不爽,最后忍不住自己去写一个插件

自己完整的写一套bash的格式化逻辑还是有点折腾的,于是在github上搜有没有类似的project,找到了beautify_bash,也是Python的project,这就简单了

Sublime text也是Python开发的,提供了Python的API,找了下其他tidy插件的写法,格式化代码只需要调用API获取文件内容或者选中区域内容,然后将获取到字符串处理完,再次调用API把处理完的内容替换掉原来的内容

Dev

简单的文本处理插件只需要创建一个sublime_plugin.TextCommand类,类名叫XXCommand就行原本想吧beautify_bash作为submodule加到git库里,但是submodule总是有一堆问题,最后还是选择把beautify_bash的func直接引用到插件代码里,readme里说明了来源,beauatify_bash也没有说没使用什么协议共享,放在github public project里,应该不侵权

sublime.Region(0, self.view.size())

通过上面代码获取到文件内容,然后把格式化后的文本通过下面方法替换原文件的内容

self.view.replace(            edit, xmlRegion, result.replace("\r", ""))

然后在touch一个sublime-keymap来定义快捷键,command就是类名XXCommand中的XX

[    {        "keys": ["super+shift+alt+b"],        "command": "bashtidy"    }]

一个简单的插件就这么完成了,比我想象的简单,sublime text提供的API非常方便

使用方法

打开Sublime Text的Package文件夹

OS X: ~/Library/Application Support/Sublime Text (2/3)/Packages/Windows: %APPDATA%/Sublime Text (2/3)/Packages/Linux: ~/.Sublime Text (2/3)/Packages/

将插件clone到Package目录,插件repo地址如下:

https://github.com/joysboy/SublimeBashTidy.git

安装完成后,可以通过右键菜单里选择Prettify Bash对代码格式化

或者通过ctrl + shift + P调出命令窗口,输入bashtidy对代码格式化

还可以通过快捷键调用

OSX: super + shift + alt + bWin: ctrl + shift + alt + bLinux: ctrl + shift + alt + b

如果使用有问题或者建议欢迎留言

SublimeBashTidy

一直很喜欢Sublime Text,也有非常多的插件,对于Coder来说,代码规范看着就会觉得赏心悦目,所以很喜欢那些tidy的插件,可以自动将代码格式化,但是没有找到bash的tidy插件

做运维的bash绝对不会少写,一些简单的脚本可以直接在一行命令里搞定,但是比较复杂的,还是喜欢在编辑器里写,没有tidy插件让我很不爽,最后忍不住自己去写一个插件

自己完整的写一套bash的格式化逻辑还是有点折腾的,于是在github上搜有没有类似的project,找到了beautify_bash,也是Python的project,这就简单了

Sublime text也是Python开发的,提供了Python的API,找了下其他tidy插件的写法,格式化代码只需要调用API获取文件内容或者选中区域内容,然后将获取到字符串处理完,再次调用API把处理完的内容替换掉原来的内容

Dev

简单的文本处理插件只需要创建一个sublime_plugin.TextCommand类,类名叫XXCommand就行

sublimetext格式化bash插件

相关文章:

你感兴趣的文章:

标签云: