有没有什么工具可以格式化 Python 代码?

2017-11-19 09:08:00 +08:00
 CatCode

就是比如说,

i = a + 1
foo(i, a)

def bar():
    pass

def xxx():
    pass

也可以写作:

i=a+1
foo(i,a)
#下面两个 def 之间没有空行
def bar():
    pass
def xxx():
    pass

说白了就是空白有没有的问题,这种空白并不影响执行,但是习惯上觉得第一种要好看一些。
目前主要用 VS Code 和 VS 2017+Python 支持。以前写.Net 的时候,VS 是可以在写完一句之后马上就自动把第二种写法转换成第一种的,但对于 python 不支持。

请问各位老鸟有何高见?

2938 次点击
所在节点    问与答
9 条回复
SuperMild
2017-11-19 09:13:32 +08:00
菜鸟这个词流传下来了,同期出现的大虾这个词却已经失传。
slfmessi
2017-11-19 09:20:04 +08:00
yapf, autopep8
czheo
2017-11-19 09:20:22 +08:00
tracyone
2017-11-19 10:06:54 +08:00
nnoremap <leader>cf :0,$!yapf<CR>
vnoremap <leader>cf :!yapf<CR>
infun
2017-11-19 10:19:42 +08:00
@SuperMild 大概因为吃大虾不违法,而鸟多是保护动物
Mirage09
2017-11-19 10:42:06 +08:00
PyCharm 有一个 reformat code 的功能
zhusimaji
2017-11-19 10:59:09 +08:00
autopep8
CatCode
2017-11-19 12:13:55 +08:00
@slfmessi 感谢,我突然在 VS Code 的 Python 插件里面已经支持了
wlbcs
2017-11-19 17:13:38 +08:00
使用 PyCharm 的 Ctrl + Alt + L 键

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/407610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX