Autor Wątek: Eclipse + CDT - wirtualne(C::B) / logiczne(NetBeans) katalogi? Filtry(VC++)?  (Przeczytany 1460 razy)

Offline Anton Chigurh

  • Użytkownik

# Marzec 03, 2010, 21:51:22
Się ma!

Jak w CDT grupować pliki bez konieczności tworzenia fizycznuch katalogów na dysku? Czy to w ogóle możliwe?

Kiedyś dziwiłem się, że w Visual C++ (już w 6.0, nie wiem, jak wcześniej) zamiast "folderów" czy też "katalogów" były "filtry". Wspomniane w temacie IDE też wspierają tę koncepcję. Dziś jest mi bardzo trudno obyć się bez tego mechanizmu (ze względu na bałagan w ścieżkach #include "...", zwłaszcza przy refactoringu) i nie mogę uwierzyć, że w CDT tego nie ma. Bardzo mi na tym zależy, bo muszę przyznać, że po przejrzeniu wszystkich propozycji IDE do C++ na GNU/Linuksie eclipse jest moim faworytem (w C::B code completion to niestety żart, natomiast NetBeans ma gorsze kolorowanie składni - rozpoznaje mniej konstrukcji - np. nie koloruje namespaceów). Brakuje mi tego jednego drobiazgu :(

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kos

  • Użytkownik
    • kos.gd

# Marzec 03, 2010, 21:55:39
O, to jednak ktoś tego używa!

Nie znam odpowiedzi na Twoje pytanie, ale dam workaround: dodaj po prostu foldery z kodem do ścieżek include dla kompilatora (-Ifolder -Idrugifolder ...). Może Cię to urządzi.

Offline rm-f

  • Użytkownik
    • Tu trolluje

# Marzec 03, 2010, 22:08:28
Eclipse miał coś takiego, pamiętam że mnie denerwowało. Poszukaj  ;)

Offline Anton Chigurh

  • Użytkownik

# Marzec 06, 2010, 18:09:15
Dzięki,

Kos: to niezłe rozwiązanie, zwłaszcza jako "ostatnia deska ratunku", jednak mając nie wiele gorszy NetBeans - niestety nie skorzystam.

świrus: A mnie strasznie denerwuje pisanie "#include "../../pch.h" ;-) Spędziłem trochę czasu szukając czegoś takiego, nawet więcej, niż CDT zasługuje ( ;-) ) jednak jeśli nie ma tego pod "prawa-mycha -> insert virtual folder", lub w liście elementów typu "add new item...", to albo tego nie ma w ogóle, albo jest jakiś dziwaczny workaround. Tak czy owak to jest "no go :(".

Offline Mormegil

  • Użytkownik
    • Moj dev blog

# Marzec 06, 2010, 19:03:38
A czemu koniecznie chcesz mieć te wszystkie pliki w jednym katalogu na dysku?
Tylko po to, żeby mieć krótsze dyrektywy #include? Eclipse potrafi podpowiadać przy tej okazji. Zacznij pisać i ctrl + space.

Ja preferuję stosowanie katalogów. Do tego stopnia, że kiedy przyszło mi przenieść się pod VS, to napisałem skrypt, który odtwarzał strukturę katalogów w Project Explorer VS. Tak, wiem, że można też użyć struktury katalogów, ale z jakiegoś powodu takie rozwiązanie mi nie odpowiadało.

Offline Anton Chigurh

  • Użytkownik

# Marzec 06, 2010, 22:00:38
Nie lubię zaprzątać sobie głowy takimi rzeczami przy refactoringu.
Powiedzmy, że zgrupuję sobie jakieś klasy w "folderze" i za jakiś czas zaludnia(zaklasowia?) mi się on ponad miarę, a do tego krystalizuje się pomiędzy jego zawartością podział kolejnego rzędu. W C::B albo NetBeans po prostu dodaję foldery wirtualne i przeciągam odpowiednie pliki myszką. W przypadku realnych folderów muszę się zająć przerabianiem includów, co nie ma nic wspólnego z rozwiązywanym zadaniem - jest to czynność nadmiarowa i wynika jedynie z głupkowatości "para-modelu" modułowości w C++. Kilka razy w życiu zdarzyło mi się też, że w wyniku błędu projektowego jakaś klasa, od której zależało X, a która zależała od Y innych klas znalazła się zupełnie nie tam, gdzie potrzeba i musiałem ją przenieść - to jeszcze bardziej skomplikowało sprawę. Kod źródłowy programu to nie jest miejsce na jakieś ścieżki dostępu itp.; te powinny być obsłużone gdzieś indziej (stąd mój wniosek, że dodawanie "-I..." ma jako taki sens). Cieszę się, że twórcy większości IDE to zauważają i odpowiednio obsługują ;-).