6

在 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 命令,甚至是注释,都能正确缩进。

关于这种行为的任何线索?

4

0 回答 0