Ein aktueller Linker sollte doch in der Lage sein, nicht verwendete Funktionen aus dem erzeugten Programm zu entfernen.
Oder ist es wirklich so, dass in Abhängigkeit vom Projekt bestimmte Klassen sich anders verhalten, weil andere Methode "aktiv" werden?
Dann ist da beim Design dieser Klassen schon etwas schiefgelaufen. In diesem Fall muss ich Bubble zustimmen: Hier ist der Code schlecht organisiert.
Übrigens ist es nicht so, dass das "doofe intelisence" dieses Problem verursacht. Ein doofes Intellisense würde vermutlich genau das tun, was du willst, indem es unbenutzte Blöcke nicht ausblendet.
Und du bleib bitte sachlich.