我最近开始使用崇高的文字3,我真的很喜欢它。我主要将它用于tcl,python,CMake,脚本(sh,bat),偶尔用MATLAB和一些c ++(我很想用它替换eclipse,但到目前为止我还没有成功)。 ST是我发现的第一个编辑器,它对我使用的所有语言都提供了很好的支持,并且很少有人突出显示并自动完成tcl。但是,我一直有一些自动缩进功能的问题(我喜欢自动缩进,我是一个懒惰的格式化程序......)。对于tcl和python,ST3似乎都是错误的。我的搜索没有引导我找到任何解决方案,所以我在这里问。
我已设置(在用户设置和键盘映射中):
"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"
}
<\ n>自动注释后:
proc hello { args } {
set var 0
if { $var } {
puts "$var again"
} {
puts "NO VAR!"
}
}
proc helloagain { args } {
puts "hello again"
}
python:
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自动缩进对我有意义,因为解释器(或自动缩进的任何内容)无法知道if语句何时完成,我一直使用#在python中将缩进设置为正确的位置。但是,这在tcl中不起作用,而且tcl解释器计算注释块(在注释中不能有未关闭的{)。看来自动格式化应该具有正确格式化tcl的必要信息,毕竟我用大括号指定了块的开头和结尾。我知道这个功能很奢侈,但我很乐意让它适用于这些语言。
-Jameson