Używam środowiska programistycznego Eclipse udostępnionego w pakiecie firmy Altera do programowania procesora Nios II. Środowisko ogólnie rzecz biorąc ładne i funkcjonalne, ale...
Zauważyłem pewną wadę, nie wiem czy to bug czy zła konfiguracja. Otóż mamy tam okienko "Outline" w którym mamy listę nazw symboli (zmiennych, funkcji) używanych w naszych źródłach... List ta jest dynamicznie tworzona w tym okienku w czasie pisania źródeł w edytorze - dodajemy zmienną/funkcję: wskakuje ona do okienka.
Jeśli zmienna obłożona jest warunkową kompilacją w preprocesorze to w zależności od tego czy IDE zna zmienną warunkową to ta funkcja czy zmienna obłożona warunkiem #ifdef....#endif pojawia się tam w okienku lub nie...
Wszystko pięknie i ładnie dopóki używamy symboli preprocesora znanych w IDE - czyli tych ustawionych w opcjach preprocesora... Jeśli obłożmy zmienną lub funkcję dyrektywą #ifdef...#endif i symbol testowany jest zdefiniowany w pliku nagłówkowym włączanym do źródeł instrukcją preprocesora #include to okienko Outline, nie znając tego symbolu, nie pokazuje tej funkcji/zmiennej na liście. Można się domyślać, że dzieje się tak bo program nie czyta plików #include i nie rozwija tam zawartych dyrektyw preprocesora.
I teraz pytanie moje brzmi - czy u innych użytkowników Eclipse dzieje się tak samo czy to jest tylko mankament wersji Eclipse udostępnianej mi przez firmę Altera? A może źle coś skonfigurowałem?