前阵子,看到水木中讨论python中的用空格还是用tab来做indentation,然后也讨论到了tab的宽度什么的。在Python、C、Shell中,现在我一般采取tab来做缩进,一般我设置为一个tab显示为8个字符宽度(当然tab是tab,不是8个空格,尽管我可以让它看起来是几个空格的间隔),这主要还是linux kernel中那个CodeSytle的影响。[注:从2013.01.28开始,我还是绝对跟随主流,用4个空格而不用Tab来作为我Python代码的默认缩进。]
当然,tab作为python的indentation,而且是8个字符宽度,似乎不太主流,因为看了下python源码中的一些lib都基本是用4个空格来做indentation的,不过,我目前没有用python与他人合作开发大项目,主要是自己玩玩和工作偶尔用用,倒也无妨吧,主要是懒得与linux中的那种style切换了。这是题外话~~
在eclipse中设置tab width的地方有多处,主要其实就是两种,一种是generic(公用的),一种是specific(特殊的,比如针对Pydev插件的)。
1:公用的部分:window——preference——General——Editor——Text Editor设置页面:Display Tab Width
2:Java的部分:window——preference——Java——Code Style——Formatter设置页面,Edit,在弹出的Editor profile窗口中,Indentation卡片,设置Indentation Size和Tab Size。
3:Pydev设置:window——preference——Pydev——Editor,即可看到Tab length的设置,另外就在其下面一行,有个选项,“Replace tabs with spaces when typing?”,如果选中它,那么你新建的源文件中就不存在tab符号了,而是用X个空格来代替的。
4、打开某个文件(比如hello.py),打开右键菜单,进入“Preferences”,里面有Display tab width。 其实这样调出来的就是第1中方法中的那个设置了。