示例:我创建了一个新单元,按顺序声明了一个包含多个方法(如构造函数、析构函数、method1、method2、method3)的类,然后按 Ctrl-Shift-C。IDE 会自动创建所有方法主体,但顺序是混淆的,而不是在接口部分中声明的那样。
现在,这不是问题,而是有原因。混合起来似乎比仅仅按照声明的顺序来做更难。
还是有一些我看不到的有意义的规则?
示例:我创建了一个新单元,按顺序声明了一个包含多个方法(如构造函数、析构函数、method1、method2、method3)的类,然后按 Ctrl-Shift-C。IDE 会自动创建所有方法主体,但顺序是混淆的,而不是在接口部分中声明的那样。
现在,这不是问题,而是有原因。混合起来似乎比仅仅按照声明的顺序来做更难。
还是有一些我看不到的有意义的规则?
回答起来有点复杂,因为它取决于您的方法是如何安排的。
如果它们已经按字母顺序实现,它将尝试并保持它。如果 IDE 无法推断出任何类型的顺序,它会求助于将它们放在文件末尾。
还有另一个问题,按照惯例,如果您在表单中包含注释: { <ClassName> } 在实现方法的第一个块之前,然后使用该注释来描述所有后续类实现,它将尝试保持方法分组一起。
字母顺序遵循上述相同的规则,除了它可以将新方法注入到由指示的注释描述的逻辑块中。
如果您将 class-completion 与全新的类一起使用,您会注意到 IDE 将自动生成该描述性注释。
如果您让类完成自动排列方法并且只使用Ctrl++键在方法的实现Shift和UpAr声明之间导航,那么顺序应该不太重要。
通常,我会使用上面的键序列跳转到类 decl,然后使用箭头键转到我想要的 decl 中的方法,然后再次使用该键序列快速找到它。
另一个不错的键序列是Ctrl++或Alt++ ,它将按文件顺序快速从方法impl跳转到方法 impl。UpArCtrlAltDnAr
默认情况下,我很确定它会尝试按方法名称的字母顺序创建它们,然后在之后使用相同的方法添加更多方法时尝试保持这种状态。最终结果可能是排序时的随机组合。
根据我的经验,我发现 IDE 有时会按字母顺序创建方法,但有时它只是将新方法附加到文件末尾。
IDE 尝试按字母顺序创建所有内容。但是,如果方法变得乱序(例如,您重命名一个方法),它就会陷入混乱。确切的行为似乎取决于版本。旧版本会简单地将新方法以任意顺序附加到文件末尾。较新的版本似乎更聪明一些,但我还没有弄清楚到底是怎么回事。