Я пытаюсь представить некоторые API для разработчиков через интерфейс. Однако из-за модульности функций я разбил список функций на несколько интерфейсов. Вместо того, чтобы делать:
interface IAllFeatures {
fun A() {}
fun AA() {}
fun B() {}
fun BB() {}
fun C() {}
fun CC() {}
}
interface SampleInterface : IAllFeatures {
}
Я выделил его как:
interface IA {
fun A() {}
fun AA() {}
}
interface IB {
fun B() {}
fun BB() {}
}
interface IC {
fun C() {}
fun CC() {}
}
interface SampleInterface : IA, IB, IC {
}
В первой реализации IAllFeatures отображает все функции жирным шрифтом во всплывающем окне завершения кода. Однако во второй реализации SampleInterface отображает все функции не жирным шрифтом и больше не получает приоритет в списке предложений по завершению кода. Есть ли способ получить лучшее из обоих миров, разделяя категории интерфейса и давая разработчикам четкие предложения по завершению кода?