Przynajmniej kilka razy w tygodniu na mej skroni pojawia się kolejny siwy włos zabielony przez żenujące zachowanie narzędzia, w którym spędzam, bagatela, 1/3 swojego całego życia. Czyli Visual Studio. A to coś się zatnie, a to coś się wywali, a to muszę czekać nie wiadomo ile bo okno dialogowe z napisem “Background operation in progress” nie pozwala nic zrobić… Masakra.
A mimo to tkwię w tym bagnie. Nie byłbym sobą gdybym nie próbował zmienić tego stanu rzeczy. Próbowałem przenieść jak najwięcej kodowania do Sublime Text. Próbowałem całkowicie przesiąść się na Monodevelop. A mimo to nadal, dzień po dniu, odpalam Visuala i się zżymam.
Powód okazuje się bardzo prosty, banalny wręcz. Żadna z alternatyw nie oferuje tego co oferuje VS, a mianowicie:
Gdybym miał Visuala, a Resharpera bym nie miał, byłbym jak miedź brzęcząca albo cymbał brzmiący.
Od lat ewangelizuję dev-community: jeśli ktoś jeszcze nie używa Resharpera to niech ze swojej jaskini wypełznie, wyspowiada się z tego faktu i natychmiast go zainstaluje. A Microsoft powinien JetBrains po stopach całować.
Nam, programistom, pozostaje czekać na C# IDE z tej właśnie stajni. Na Twitterze co i rusz ktoś rzuca taki pomysł, a jako że ta firma ma bardzo bogatą ofertę IDE – miejmy nadzieję, że ta święta chwila kiedyś nastąpi.
P.S. To intencjonalnie półbiblijny cytat, przygotowujący na absolutną katechetyczną masakrę zaplanowaną na kolejną niedzielę:).
Źródło: doświadczenia własne (wciśnięte w biblijne ubranko)
C# IDE od JetBrains – marzenie
Mysle jednak ze to niewykonalne i JetBrains ma podpisana cicha umowe z Microsoftem :)
Nie bez powodu Extensionow nie mozna zainstalowac w VS expressie.
Nie potrafie sobie wyobrazic pracy z VS-em bez R#. Jest to troche przerazajace ze jako programista tak bardzo uzaleznilem sie od narzedzi ;x
Praca bez ReSharpera ciężką jest to fakt, ale i ReSharper lubi czasem coś zepsuć, a to nie widzi (przynajmniej u mnie) dll-ek z innych projektów i podkreśla co popadnie, albo się tak zakręci, że już sam nie wie co i najlepiej usunąć katalog roboczy R#, albo zje cały ram.
Co do innych IDE – bo edytory tekstu się nie nadają do programowania – to i tak nie mamy źle, Eclipse robi więcej problemów a przynajmniej mi. Jak słyszę, że Delphi potrafi się wywalić przy otwieraniu InelliSense to cieszę się, że VS jest jaki jest.
Moje idealne IDE to był by mix VS z R# i NCrunch-em. NCrunch do obsługi testów jednostkowych, JetBrainsowe know how z refaktoryzacji, solidnosci i integracji z dvcs, VS z wyglądu i mnogości funkcjonalności.
Co jeszcze dodać do idelanego ide ?
Michał,
Ja bym bardziej obstawiał że R# przynosi JetBrains tyle kasy że sami by sobie poniekąd w stopę strzelali jakby IDE do .NET zrobili. Ale z drugiej strony – naiwnie marzyć można dalej:).
@rek,
To prawda, niestety żadne narzędzie (oprócz Gita;) ) nie jest idealne. R# też ma swoje problemy, ale na szczeście przynajmniej pod względem wydajności – co było dla mnie jego największą bolączką – jest z wersji na wersję zauważalnie lepiej.
A co do idealnego IDE – chętnie widziałbym tam “file-less mode” czy jak to nazwać:). Coś jak tutaj: http://www.chris-granger.com/2012/04/12/light-table—a-new-ide-concept/ .
propo gita – polecisz jakieś dobrze wyglądające i dobrze działające narzędzie graficzne do niego? Niestety konsola nie przemawia do mnie zbytnio a konsola + git history z Git Source Control Provider czasem powodują, że git głupieje :)
@rek, ja korzystam z Git Extensions (http://goo.gl/fIay1) i zwykle mam cały czas otwarte obok Visual Studio, żeby w razie potrzeby przejrzenia historii i zmian na szybko skorzystać.
@arek,
Mimo wszystko bardzo polecam git bash – daj sobie ze dwa dni na przestawienie się na cmdline mode. To rządzi! Ja dodatkowo korzystam z tortoise git do diffów i logów, bo gitk jest trochę ułomne. Zainstalowałem też kiedyś wspomniane przez cieplok gitextensions, ale jakoś mi nie podpasowały. Integracja z VS nie jest mi potrzebna (chociaż w momencie przesiadania się z SVN/VisualSVN myślałem że bez tego się nie obejdzie). W firmie kilka osób używało source control provider dla VS i byli zadowoleni.
od miesiąca używam git basha żeby się nauczyć i mimo łatwości używania chciałbym coś normalnego – na litość boską mamy 21 wiek, commandline powinien umrzeć tak jak wszelkie vimy i inne tego typu wynalazki.
cieplok: git extensions zainstalowałem ale coś nie chcą działać bo ciągle coś nie ustawione.
Na chwilę obecną moj toolset to git bash i git source control provider ale szukam lepszej alternatywy :)
@Maciej, apropo Git Extensions używałes może go w wersji standalone (nie ten toolbar z VS, a osobna pełnoprawna applikacja)? Używam od pół roku i w zasadzie nie włączam już konsoli, wszystko graficznie, prowadzi za rączkę przy rebase, bisect, wsparcie dla stagingu, + możliwosc dodania buttona z przypiętym skrypem (oskryptowany poprawny workflow przy połączeniu git-tfs). Konsola przydaje się jedynie przy reflog, i hard reset. Give it a try.
Przy okazji, czy ktos wie jak wyciąć diff toola z tortoise merge, tak by uzywać go bez zainstalowanego tortoise git?
Niestety R# na wolnych i maloRAMowych maszynach to “przemół”, wiec u mnie zdecydowanie odpada. Kilka podejsc i kazde na NIE. A kiedy czlek sie juz do typowego zestawu narzedzi VS przyzwyczai, to taki R# jawi sie jako “farbowany lis”. Niestety albo stety, mozna calkiem efektywnie pracowac bez R#.
@tekkno miałem dokładnie takie samo wrażenie przy pierwszym podejściu do R# (Vista/VS2010 na 2GB RAM) i początkowo traktowałem to jako niepotrzebny, zamulający dodatek. Fakt, do R# trzeba się przyzwyczaić i mieć dość mocną maszynę, żeby nie odczuwać narzutu.
Zainwestuj (lub molestuj kierownictwo) w lepszy sprzęt (desktop z 16GB RAM i SSD możesz mieć poniżej 2000 netto), a potem daj szansę R#. Dodatkowym plusem, poza znacznym ułatwieniem pisania kodu, jest efekt edukacyjny – nie miałem pojęcia ile różnych funkcji posiada LINQ, dopóki nie zacząłem słuchać podpowiedzi ReSharpera w zakresie przekształceń zapytań.
R# może niestety spowalniać pracę na samym starcie zwłaszcza gdy używamy go w starszym projekcie. Jednak to nie R# wina tylko tego że pisaliśmy przez jakiś czas bez niego ;]. Od niedawna używam R# jako jedyna osoba w zespole i odczuwam spowolnienie ponieważ po wejściu w dowolną klasę pierwszy raz poświęcam 5-15min na analizę Hintów i Warmingów. Mam nadzieję że z czasem się opłaci.
Bogumił: Convert To Linq jest genialne :) mimo, że czasem potrafi pół ekranu super genialnego kodu zamienić w jedną linijkę :)
Tak, ja też nie wyobrażam sobie już pracy bez R#, ostatnio musiałem odpalić VS na wirtualce bez R# i nie wiedziałem jak mam się poruszać po kodzie.
A do git bash-a już się przyzwyczaiłem, ale przyznam że nauka git-a trochę zajmuję. Wydaje mi się że wreszcie wiem po co jest rebase :).
kmit,
Nie pamiętam już jak używałem. Wiem że nie potrzebuję integracji z VS, wiem że preferuję cmdline niż jakiekolwiek UI. Jest po prostu wygodniej i szybciej.
Do log/diff używam właśnie tortoise git. Z tego co wiem to nie da się wyciągnąć samego difftoola, też próbowałem:).
Ostatnio z ciekawości odpaliłem VS 2012. Po pierwszym odpaleniu mały szok, szarość widzę, szarość widzę, wszędzie szarość i nic więcej. Trochę pokombinowałem z tematami i było znośnie. Instalacja R#, potem kilka zwiechów i poszło wszystko w diabły. Z ulgą odpaliłem ponownie stare 2010.