[英]sublime text 3 auto indent tcl and python
我最近开始使用Sublime Text 3,我非常喜欢它。 我主要将其用于tcl,python,CMake,脚本(sh,bat),偶尔用于MATLAB和某些c ++(我想用它代替eclipse,但到目前为止我一直没有成功)。 ST是我发现的第一个对我使用的所有语言均具有良好支持的编辑器,并且是少数突出显示并自动完成tcl的语言之一。 但是,我在使用自动缩进功能时遇到了一些问题(我喜欢自动缩进,我是一个惰性格式化程序...)。 ST3似乎对tcl和python都缩进了错误。 我的搜索没有找到任何解决方案,所以我在这里问。
我已经设置(在用户设置和键盘映射中):
"indent_to_bracket": false,
"translate_tabs_to_spaces": true
{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }
这是tcl中的一个示例(好的接着是坏的)
proc hello { args } {
set var 0
if { $var } {
puts "$var again"
} {
puts "NO VAR!"
}
}
proc helloagain { args } {
puts "hello again"
}
自动缩进后:
proc hello { args } {
set var 0
if { $var } {
puts "$var again"
} {
puts "NO VAR!"
}
}
proc helloagain { args } {
puts "hello again"
}
蟒蛇:
def hello(number):
num = int(number)
if num == 0:
print "Number is nil!"
else:
print "number is "+str(num)
print "now im quitting"
坏
def hello(number):
num = int(number)
if num == 0:
print "Number is nil!"
else:
print "number is "+str(num)
print "now im quitting"
python自动缩进对我来说很有意义,因为解释器(或自动缩进的其他功能)无法知道语句何时完成,因此我一直在使用#将缩进设置为python中的正确位置。 但是,这在tcl中不起作用,而且tcl解释器会计算注释块(注释中不能有未关闭的{)。 毕竟,我使用大括号指定了块的开始和结束之后,自动格式化似乎应该具有正确格式化tcl的必要信息。 我知道此功能是一种奢侈,但我很想让它在这些语言下正常工作。
-Jameson
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.