在Sublime Text 2中,重新缩进(编辑 - > Line - > Reindent)似乎在Javascript代码中存在某些评论样式时出错。只有单行C风格的评论(/* ... */
)才能正常运作。
例如,请考虑这个未缩进的代码:
$(window).load(function () {
/* Single-line C-style comment */
var $player = $('#player');
/* Multiple-line
C-style comment */
var $player = $('#player');
// Single-line C++-style comment
var $player = $('#player');
// Multiple-line
// C++-style comment
var $player = $('#player');
}
重新定义整个块应该导致:
$(window).load(function () {
/* Single-line C-style comment */
var $player = $('#player');
/* Multiple-line
C-style comment */
var $player = $('#player');
// Single-line C++-style comment
var $player = $('#player');
// Multiple-line
// C++-style comment
var $player = $('#player');
}
相反,它最终会像这样:
$(window).load(function () {
/* Single-line C-style comment */
var $player = $('#player');
/* Multiple-line
C-style comment */
var $player = $('#player');
// Single-line C++-style comment
var $player = $('#player');
// Multiple-line
// C++-style comment
var $player = $('#player');
}
只要单行C风格注释首先出现,它和它后面的行都会缩进。无论其他评论出现在什么顺序,其中没有一个,也没有跟随它们的行,都会收到缩进。
这里真正的问题是缩进不仅会在这些评论上失败,而且还会破坏评论后通常会有效的缩进。在每条单独的行上使用Reindent命令,甚至是注释,都可以正确地缩进它们。
有关此行为的任何线索吗?