在 Sublime Text 2 中,在 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 命令,甚至是注释,都能正确缩进。
关于这种行为的任何线索?