Delphi 课程完成的顺序是什么?

Delphi 课程完成的顺序是什么?,delphi,ide,class-completion,Delphi,Ide,Class Completion,示例:我创建一个新单元,按顺序用几个方法(如构造函数、析构函数、method1、method2、method3)声明一个类,然后按Ctrl-Shift-C。 IDE会自动创建所有的方法体,但顺序是混乱的,不像在接口部分中声明的那样 现在,这不是一个问题,但这是有原因的。把这一点混为一谈似乎比仅仅按照宣言的顺序来做要困难得多 或者有什么规则是有意义的,但我看不到吗?默认情况下,我很确定它会按方法名称的字母顺序创建它们,然后在以后使用相同的方法添加更多方法时,会尝试保持这种顺序。最终的结果可能是排序

示例:我创建一个新单元,按顺序用几个方法(如构造函数、析构函数、method1、method2、method3)声明一个类,然后按Ctrl-Shift-C。 IDE会自动创建所有的方法体,但顺序是混乱的,不像在接口部分中声明的那样

现在,这不是一个问题,但这是有原因的。把这一点混为一谈似乎比仅仅按照宣言的顺序来做要困难得多


或者有什么规则是有意义的,但我看不到吗?

默认情况下,我很确定它会按方法名称的字母顺序创建它们,然后在以后使用相同的方法添加更多方法时,会尝试保持这种顺序。最终的结果可能是排序上的随机混合。

根据我的经验,我发现有时IDE会按字母顺序创建方法,但有时它只是将新方法附加到文件的末尾。

IDE会尝试按字母顺序创建所有内容。但是,如果这些方法失去了顺序(例如重命名一个方法),它就会陷入混乱。确切的行为似乎取决于版本。旧版本只需将新方法以任意顺序附加到文件末尾。较新的版本似乎更聪明一些,但我还没有弄清楚具体是如何做到的。

这一点回答起来有点复杂,因为它取决于您的方法已经被安排好了

如果它们已经按字母顺序实现了,它将尝试并保持这一点。如果IDE不能推断出任何类型的顺序,它会将它们放在文件末尾

另一个问题是,按照惯例,如果在实现方法的第一块之前包含一条注释:{},然后使用该注释描述所有后续类实现,它将尝试将这些方法分组在一起

字母顺序遵循上述相同的规则,只是它可能会将新方法注入到所示注释所描绘的逻辑块中

如果您对一个全新的类使用类完成,您会注意到IDE将自动生成描述注释

如果让类完成自动排列方法,并且只使用Ctrl+Shift+UpAr键在方法的实现和声明之间导航,那么排序就不那么重要了

通常,我会使用上面的键序列跳转到类decl,然后使用箭头键转到我想要的decl中的方法,然后再次使用该键序列快速到达它


另一个很好的键序列是Ctrl+Alt+UpAr或Ctrl+Alt+DnAr,它将按文件顺序从方法impl快速跳转到方法impl。

是的,它会按字母顺序创建方法,直到您手动将其搞糟为止。然后,它开始添加在最后,或在中间,如果它觉得它适合那里。我想要一个这样的环境。如果只是将其按与实现部分相同的顺序排列,会有多容易?FWIW,ModelMaker代码浏览器可以将类和文件定义重新排列到spec.Neat工具中,并帮助整理以便自动插入。旧版本的Delphi总是将它们放在最后。如果您有在其中创建的代码,那么顺序将是随机的