代码之家  ›  专栏  ›  技术社区  ›  Jan de Jonge

帮助洞察的新路线

  •  3
  • Jan de Jonge  · 技术社区  · 9 年前

    通过工具提示帮助,我可以在悬停在类名/字段名/过程名等上时显示一些额外的注释,如下所示:

    /// <comments>Some comments on e.g. a class.</comments>
    

    如何在显示的文本中强制添加新行?

    1 回复  |  直到 9 年前
        1
  •  1
  •   MartynA    9 年前

    在XE7和XE8中

      public
        { Public declarations }
        /// <comments>Some comments<para/>comments on a second line</comments>
        procedure SetUp;
    

    在Help Insight弹出窗口中将文本“comments on a second line”置于新行。一个小问题是第二行缩进了几个空格,但如果我这样做

    /// <comments>Some comments<para>comments on a second line</para>third line</comments>
    

    “第三行”没有缩进。通过执行以下操作,可以屏蔽缩进不一致性(以将所有内容缩进两个空格为代价):

    ///<comments><para>Some comments</para><para>comments on a second line</para><para>third</para></comments>
    procedure SetUp;
    

    通过实验判断

    <p/>
    

    XML标记过去在XE4中工作,但在XE7中停止工作,正如我的初始测试:

      TForm1 = class(TForm)
        CDS: TClientDataSet;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Button1: TButton;
        procedure CDSCalcFields(DataSet: TDataSet);
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        ///<comments>Some comments<p/>more</comments>
        procedure AddHLIndex;
    

    在XE4中,上面的“more”显示在XE4的新行上,但与XE8中的“Some comments”在同一行上。

    我想知道XE8中的差异是否与Castalia的存在有关,但我得到了XE4和XE8之间的相同差异,XE8以/NOCASTALIA开关启动。

    我还没有进行详尽的测试,但XE8忽略了我尝试过的所有“HTML”格式标记(除了

    <c>
    

    提问者提到的标签),这当然可能是故意改变或意外的结果。另一方面,它似乎确实处理HTML转义,例如

    &gt;
    

    &lt;
    

    但不幸的是,

    &#10;
    

    ,它只是忽略了这一点。