改进或替换Toggle Comment功能

时间:2015-11-11 09:02:34

标签: delphi ide comments delphi-xe8

您可能知道,Delphi IDE的Toggle Comment功能允许您通过在每个行的开头放置行尾注释符号(//)来注释掉选定的行块。线。

所以,例如,如果我有这段代码:

procedure TForm1.ProcessLists;
var
  jItem: TJSONObject;
  i: Integer;
begin
  while not ADOAllData.Eof do
  begin
    jItem := TJSONObject.Create;
    jItem.AddPair(TJSONPair.Create('list_id', ListID));
    for i := 0 to ADOAllData.Fields.Count - 1 do
    begin
      jItem.AddPair(TJSONPair.Create(ADOAllData.Fields[i].FieldName,
                                     ADOAllData.Fields[i].AsString));
    end;
    jArray.Add(jItem);
    ADOAllData.Next;
  end;
end;

并想要注释for循环,Toggle Comment命令会给我这个结果:

procedure TForm1.ProcessLists;
var
  jItem: TJSONObject;
  i: Integer;
begin
  while not ADOAllData.Eof do
  begin
    jItem := TJSONObject.Create;
    jItem.AddPair(TJSONPair.Create('list_id', ListID));
//    for i := 0 to ADOAllData.Fields.Count - 1 do
//    begin
//      jItem.AddPair(TJSONPair.Create(ADOAllData.Fields[i].FieldName,
//                                     ADOAllData.Fields[i].AsString));
//    end;
    jArray.Add(jItem);
    ADOAllData.Next;
  end;
end;

但是,我更喜欢这样:

procedure TForm1.ProcessLists;
var
  jItem: TJSONObject;
  i: Integer;
begin
  while not ADOAllData.Eof do
  begin
    jItem := TJSONObject.Create;
    jItem.AddPair(TJSONPair.Create('list_id', ListID));
    //for i := 0 to ADOAllData.Fields.Count - 1 do
    //begin
    //  jItem.AddPair(TJSONPair.Create(ADOAllData.Fields[i].FieldName,
    //                                 ADOAllData.Fields[i].AsString));
    //end;
    jArray.Add(jItem);
    ADOAllData.Next;
  end;
end;

即。当每行的注释符号放在所选块中最左边的非空格字符的位置时。这样,如果我在最后一个注释行的末尾按 Enter 以在注释部分之后添加代码,则会遵循当前嵌套级别的缩进。

那么,有没有办法改进上面描述的Toggle Comment功能,或者可能是在IDE中工作并满足相同要求的替代方法?

请注意,我知道块注释分隔符,并意识到它们可以很容易地注释掉大部分代码。在某些情况下,我更喜欢它们,还有一些我更喜欢行尾注释。这个问题实际上是后者。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作

  • 方法#1

    使用//注释您想要的块。

    选择(突出显示)阻止并按 Shift + Tab 或仅 Tab 调整位置阻止

  • 方法#2

    选择(突出显示)该块并按 Shift + {