Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: Walka z Visual Studio

Witam,

Ostatnio pisze projekt w openframework w c++ i chciałem zadać pytanie odnośnie vs 2010 bo aż nie chce mi się wierzyć, że tak chwalone środowisko jest tak toporne...
Dotychczas programowałem sobie w eclipse (Action Script 3) i to niebo w porównaniu z vs. W sumie Kdevelop czy Devc++ sprawiają mniej problemów.

Ale do rzeczy:

Chce dodać nową klasę do folderu src znajdującego się w głównym katalogu projektu, ale funkcja Add -> Class wrzuca ją do głównego katalogu projektu. Gdy ją przeniosę w Solution Explorer to w rzeczywistości (system plików) jest tam gdzie była. Gdy przenoszę ręcznie przez system plików to visual nie ma później referencji do tego pliku.

Robię coś źle czy w "nastej" wersji visuala zostawili taki "ficzer" by człowiek tracił czas na głupoty jakimi jest stworzenie nowej, pustej klasy?Jerzy W. edytował(a) ten post dnia 06.03.13 o godzinie 14:34
Łukasz Z.

Łukasz Z. Specjalista ds
Informatyki w Mentor
S.A.

Temat: Walka z Visual Studio

VS 2010 nie wykorzystuje bezpośrednio hierarchii plików do organizacji projektów tylko przechowuje lokalizacje plików źródłowych w plikach konfiguracyjnych solucji i projektów.
W pliku SLN masz zapisane referencje do projektów, a w plikach CSPROJ masz referencje do plików w ramach konkretnego projektu.

Dodawanie w VS nowych klas jest możliwe na wiele bardzo wygodnych sposobów, ale nie da się tego zrobić poprzez zwykłe utworzenie pliku w katalogu bez "informowania" o tym samego projektu, w którego skład ma wejść ów plik.

Jeśli z takiego powodu nazywasz VS topornym to również powinieneś tak nazwać system Subversion (SVN) ponieważ nie kopiuje po prostu całych plików do repozytorium jak jego o wiele wcześniejsze odpowiedniki.

konto usunięte

Temat: Walka z Visual Studio

Solution Explorer nie pokazuje fizycznej struktury plików, a coś, co nazywa filtrami, czyli taka wirtualna struktura katalogów trzymana jedynie jako funkcja widoku a nie faktycznego położenia pliku. Dzieki temu w jednym "folderze" możesz widziec pliki, ktore fizycznie leżą w kompletnie różnych miejscach, np. pliki .h i .cpp często trzyma się w oddzielnych fizycznych katalogach include i src, a w solutionie dobrze jest miec je w jednym miejscu.

W kreatorze nowej klasy możesz w polu nazwy pliku .h i .cpp wpisać również ścieżkę (wzgledną czy bezwzględną) gdzie chcesz fizycznie utworzyć pliki.
Jeśli chcesz miec taką samą strukturę filtrów jak fizycznych katalogów, to dochodzi tu faktycznie dodatkowy reczny krok przeciągnięcia utworzonych plików do wybranego filtru po zakończeniu kreatora. Taka cena abstrakcji.

Jesli chcesz zobaczyc faktyczną strukturę plików to w solution explorerze zaznacz projekt(nie solution) i z belki na górze wybierz "show all files".Krzysztof Kawa edytował(a) ten post dnia 06.03.13 o godzinie 16:32
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: Walka z Visual Studio

Łukasz Z.:
VS 2010 nie wykorzystuje bezpośrednio hierarchii plików do organizacji projektów tylko przechowuje lokalizacje plików źródłowych w plikach konfiguracyjnych solucji i projektów.
W pliku SLN masz zapisane referencje do projektów, a w plikach CSPROJ masz referencje do plików w ramach konkretnego projektu.

Dodawanie w VS nowych klas jest możliwe na wiele bardzo wygodnych sposobów, ale nie da się tego zrobić poprzez zwykłe utworzenie pliku w katalogu bez "informowania" o tym samego projektu, w którego skład ma wejść ów plik.

Jeśli z takiego powodu nazywasz VS topornym to również powinieneś tak nazwać system Subversion (SVN) ponieważ nie kopiuje po prostu całych plików do repozytorium jak jego o wiele wcześniejsze odpowiedniki.

Nie rozumiem porównania do svn'a. System kontroli wersji zapamiętuje tylko to co się zmieniło i to akurat jest duża zaleta.

@Krzysztof Kawa no kumam trochę idee, ale narazie widzę więcej wad niż zalet. Sprawdzę w wolnej chwili.Jerzy W. edytował(a) ten post dnia 06.03.13 o godzinie 17:07

konto usunięte

Temat: Walka z Visual Studio

Też nie jestem wielkim fanem tego ficzera, szczególnie, że np. wersja Express nie obsługuje filtrów, więc jest problem z projektami, które ich używają.
Są wady i zalety. Po kilku latach idzie sie przyzwyczaić i nie zgrzytać zębami przy przesiadaniu się z projektu pisanego w czymś innym :P
Łukasz Z.

Łukasz Z. Specjalista ds
Informatyki w Mentor
S.A.

Temat: Walka z Visual Studio

Jerzy W.:
Nie rozumiem porównania do svn'a. System kontroli wersji zapamiętuje tylko to co się zmieniło i to akurat jest duża zaleta.

To pierwsze podobieństwo jakie mi przyszło na myśl. Chciałem przez to powiedzieć, że nie wszystko co działa inaczej i na pierwszy rzut oka "nielogicznie" jest od razu toporne i niedobre.
Mi osobiście podoba się zarządzanie plikami w VS (pracuję na co dzień w VS 2008 i VS 2010 - obie "profeski"). Nie przeszkadza mi jednak organizacja strukturą katalogów w projektach, do których nie używam VS.
Jerzy Wierzchowski

Jerzy Wierzchowski Senior Software
Developer

Temat: Walka z Visual Studio

Witam ponownie.
Znowu prozaiczny problem:)
Chcemy zrobić "aplikację , która odpala inne aplikacje" . Tak naprawdę była by to jednak duża aplikacja z modułami. Podstawowy moduł stanowił by pewnego rodzaju menu i tworzył wybrany moduł po czym go usuwał.

Pytanie, jak najlepiej podejść do pracy nad taką aplikacją w kilka osób?
main jest jeden... Chcieli byśmy zrobić sobie oddzielne kompilacje np TestKinecta_Jurek_debug która odpala mój test, tak byśmy nie współdzielili np jednego maina (każdy ma jego inną wersję i trzeba uważać by przy commit'cie nie nadpisac nic koledze)
Jak do tego podjeść? Można wskazać w visualu co jest głównym plikiem (np main_Jurek)?
Inny rozwiązaniem jest zdefiniowanie zmiennej w kompilacji i w main preprocesorem sprawdzać jej wartość (nazwę testu), ale też nie wiem gdzie mogę zdefiniować taka zmienną (poza tym trochę IFozaur się zrobi).

Poleca ktoś, kursy, ksiązki, tutoriale, ale takie "z życia wzięte" a nie "jak zrobić pętle while) ?

konto usunięte

Temat: Walka z Visual Studio

Krzysztof Kawa:
Też nie jestem wielkim fanem tego ficzera, szczególnie, że np. wersja Express nie obsługuje filtrów, więc jest problem z projektami, które ich używają.

Obsługuje, chyba że mowa o jakichś specyficznych filtrach?

Solution Explorer \ Add \ New Filter

@Jerzy:
Czy na pewno chcesz robić kompilacje pod konkretną osobę?
Przecież z tego może zrobić się niezły b...ałagan.

To co chcesz zrobić można załatwić tworząc nowe targety:
Build \ Configuration Manager \ Active Solution Configuration \ New

...Ale lepiej byłoby to zrobić na poziomie SVN-a - każda osoba ma swoją lokalną wersję źródeł i może je kompilować do unit testów, po zsynchronizowaniu z repozytorium każda osoba kompiluje oficjalne źródła.

konto usunięte

Temat: Walka z Visual Studio

Piotr L.:
Krzysztof Kawa:
Też nie jestem wielkim fanem tego ficzera, szczególnie, że np. wersja Express nie obsługuje filtrów, więc jest problem z projektami, które ich używają.

Obsługuje, chyba że mowa o jakichś specyficznych filtrach?

Solution Explorer \ Add \ New Filter

Sorry, nie uściśliłem. Na poziomie projektu nazywa się to filtrem i oczywiście działa w expressie, natomiast już na poziomie solutiona to jest "solution folder" i to o te mi chodziło.

Następna dyskusja:

Visual Studio VS CodeBlocks...




Wyślij zaproszenie do