У нас есть сворачивания кода (для тела больших функций, классов, мессивов) и goto definition, последние нормально работают в строго-типизированных языках, это realy big-deal. Первыми неудобно пользоваться.

Нужна логика автоматического сворачивания-разворачивания, а так же выбора уровня разворачивания.

Кроме того, по хорошему, нужно просто держать файлы короткими, тогда фолды теряют актуальность.