В каком порядке Class Completion ставит свои результаты?
Пример: я создаю новый модуль, объявляю класс с несколькими методами, такими как конструктор, деструктор, метод1, метод2, метод3 в этом порядке, а затем нажимаю Ctrl-Shift-C. Среда IDE создает все тела методов автоматически, но порядок перепутан, а не так, как было объявлено в разделе интерфейса.
Теперь это не проблема, но есть ли причина для этого. Кажется, что это сложнее смешать, чем просто сделать это в порядке объявления.
Или есть какое-то правило, которое имеет смысл, которого я не вижу?
4 ответа
Это немного сложно ответить, так как это зависит от того, как ваши методы уже расположены.
Если они уже реализованы в алфавитном порядке, он попытается сохранить это. Если IDE не может вывести какой-либо порядок, она прибегает к удалению их в конце файла.
Есть еще одна проблема, когда, по соглашению, если вы включаете комментарий в форме: {
Алфавитный порядок следует тем же правилам, что и выше, за исключением того, что он может вводить новые методы в этот логический блок, обозначенный указанным комментарием.
Если вы используете завершение класса с новым классом, вы заметите, что IDE автоматически сгенерирует этот заметный комментарий.
Если вы разрешите автоклассификации классов автоматически упорядочивать методы и используете только клавиши Ctrl + Shift + UpAr для перехода между реализацией метода и объявлением, порядок должен быть менее важным.
Как правило, я перехожу к классу decl, используя приведенную выше последовательность клавиш, затем использую клавиши со стрелками, чтобы перейти к методу в decl, который я хочу, и затем снова использую эту последовательность клавиш, чтобы быстро добраться до нее.
Другая приятная последовательность клавиш - это Ctrl + Alt + UpAr или Ctrl + Alt + DnAr, которые быстро переключаются с метода impl на метод impl в порядке файлов.
По умолчанию я почти уверен, что он пытается создать их в алфавитном порядке по имени метода, а затем пытается придерживаться этого, когда впоследствии добавляются другие методы, используя тот же метод. Конечный результат может быть немного случайным смешением при заказе.
По своему опыту я обнаружил, что в некоторых случаях среда IDE создает методы в алфавитном порядке, а иногда просто добавляет новые методы в конец файла.
IDE пытается создать все в алфавитном порядке. Но если методы становятся непоследовательными (например, вы переименовываете метод), это приводит к путанице. Точное поведение, кажется, зависит от версии. Старые версии просто добавляли новый метод в конец файла в любом порядке. Более новые версии кажутся немного более умными, но я точно не выяснил, как именно.