Vermeintlich einfache Operationen in Visual Studio
-
Tag zusammen,
was mich schon immer mal interessiert hat:
Wir kennen ja alle Eclipse (mit Java), da gibts so lustige Operationen wie das Refactorn, wo die IDE fast vollautomatisch Programmteile extrahieren kann, überall im Projekt, ja teilweise sogar über Projektgrenzen hinaus, Namen ändern kann etc etc etc. Im Prinzip alles keine Hexenmagie, aber doch öfters mal sehr nützlich.
Wieso kann Visual Studio das nicht?
Ich versteh ja, wenn IntelliSense bei zuviel Template-Magie abspringt, dafür ist das Parsen und Compilen einfach zu komplex. Aber wenn ich den Namen einer Funktion ändere, dann will ich eigentlich nicht mich durchs ganze Projekt hangeln und zwischen durch immer kompilieren, dass ich alle Aufrufe dieser Funktion finde...Oder ist der Compiler-Prozess doch so komplex, dass es live nicht/kaum geht?
-
Skym0sh0 schrieb:
Wieso kann Visual Studio das nicht?
Kann Visual Studio sehr wohl:
-
oenone schrieb:
Kann Visual Studio sehr wohl:
http://msdn.microsoft.com/en-us/library/719exd8s.aspxDas sind aber die Refactoring-Tools für C# und da muss man dazu sagen, dass das Refactoring im "C#-Modus" ungefähr 1000x besser ist als im "C++-Modus".
Anyway, wenn man in VS C++ programmiert, dann sollte man eig. ein weiteres Tool für Refactoring haben.. ich mag Visual Assist X. Die Gründe für die magere Refactoring-Funktionalität in VS selbst kenne ich zwar nicht, aber meine Vermutung ist, dass die Kosten-/Nutzen Rechnung für MS nicht aufgeht und/oder sie den Drittherstellern den Markt nicht abgraben wollen (wahrscheinlicher).
-
Ja, für C++ muss man auf 3rd Party Tools setzen. Der OP hat aber nicht die Sprache spezifiziert, sondern allgemein ein Fehlen von Refactoring angemeckert.
Visual Assist hast du ja schon genannt, ein weiteres bekanntes wäre CodeRush.
-
Huch, die sind ja beide schweine teuer oO
Nene, es geht schon um C++, nicht um die anderen Visual Sprachen
-
C++ ist nun mal nicht die von Microsoft bevorzugte Sprache.
Auch ist Refactoring von C++ bei weitem nicht so "einfach" wie du es darstellst.
Hier ein kleines Video dazu:
https://www.youtube.com/watch?v=mVbDzTM21BQ
(über Googles Refactoring mittels Intermediate Language von Clang/LLVM)Edit: Wenn es dir nur um das Umbenennen von Funktionen etc geht, guck dir das mal an:
http://visualstudiogallery.msdn.microsoft.com/164904b2-3b47-417f-9b6b-fdd35757d194
-
Skym0sh0 schrieb:
Huch, die sind ja beide schweine teuer oO
Na ja, als Privatperson $50 bzw. $100 für Visual Assist X ist eig. nicht so teuer. Das Teil kann halt auch richtig viel. Ok klar, wäre besser, wenn VS das schon alles von Haus aus könnte, aber die Lage ist halt 'ne andere.
-
GPC schrieb:
Na ja, als Privatperson $50 bzw. $100 für Visual Assist X ist eig. nicht so teuer.
Es gibt Leute, denen wäre selbst $5 noch zu teuer...
Was bedeutet eigentlich dieses X? Hieß es früher mal Visual Assist X und jetzt nur noch Visual Assist? Auf der Website findet sich das X jedenfalls nicht.
-
Das X steht wohl für Extension.
Ich hab mir früher gedacht, dass die Unterstützung für C++ mit Absicht so schlecht ist, um die Leute dazu zu bewegen, C# zu benutzen. Mittlerweile ist C++ ja wieder etwas wichtiger für Microsoft und Visual Studio kann in der Hinsicht mittlerweile auch mehr. Ist klar, das Refactoring von C++ ist viel komplizierter als das von C# oder Java. Aber was mich immer aufgeregt hat war, dass VS für C++ das passende Klammernpaar nicht markiert hat. Ich mein, das ist ja jetzt nun wirklich nicht kompliziert umzusetzen. Das war denke ich pure Schikane. Mittlerweile geht das ja auch.
-
Ist wohl so ein Microsoft-Ding bei größeren Produkten immer etwas möglichst schlechtes, aber gerade noch so verkaufbares abzuliefern. Jedes Problem, das kein "show stopper" ist, wird liegen gelassen.
-
GPC schrieb:
Skym0sh0 schrieb:
Huch, die sind ja beide schweine teuer oO
Na ja, als Privatperson $50 bzw. $100 für Visual Assist X ist eig. nicht so teuer. Das Teil kann halt auch richtig viel. Ok klar, wäre besser, wenn VS das schon alles von Haus aus könnte, aber die Lage ist halt 'ne andere.
Mh, fürn Privatgebrauch (wo ich Visual Studio Ultimate habe) möcht ich keine 100€ einfach mal so ausgeben. Und in der Firma naja, da wirds ja wegen Kommerzialisierung weit teurer (was waren das? ~400€?)
oenone schrieb:
Auch ist Refactoring von C++ bei weitem nicht so "einfach" wie du es darstellst.
Deswegen Frage ich ja. wenns eine technische Barriere gibt, dann seh ich das ja auch ein alles...
-
Mir scheint, ich hab in C++ viel weniger Bedarf nach Refactorung-Menuknöpfen.
-
Skym0sh0 schrieb:
Mh, fürn Privatgebrauch (wo ich Visual Studio Ultimate habe) möcht ich keine 100€ einfach mal so ausgeben.
Und wieviel hast du dafür bezahlt?
-
Th69 schrieb:
Skym0sh0 schrieb:
Mh, fürn Privatgebrauch (wo ich Visual Studio Ultimate habe) möcht ich keine 100€ einfach mal so ausgeben.
Und wieviel hast du dafür bezahlt?
Wenn es legal ist, einen fünfstelligen Betrag. Da sind 100€ so gut wie nichts.
(Außer er hat von seiner Firma ein MSDN-Abo bekommen, dann darf er es auch privat nutzen. Trotzdem wären die 100€ keine große Investition, auch für eine Privatperson.)
-
Es gibt noch die Studentenecke...
-
DreamSpark? Da gibt es doch nur die Professional Version, oder?
-
oenone schrieb:
DreamSpark? Da gibt es doch nur die Professional Version, oder?
Nein, da gibt es tatsächlich die Ultimate (Keine Ahnung ob es bei Dreamspark unterschiedliche Abstufungen gibt).
-
Ok, das wusste ich bisher nicht: Visual Studio Ultimate 2013 bei DreamSpark Premium verfügbar
Wenn du das schon kostenlos bekommst, dann sind 100€ wirklich zu viel für eine Extension

-
Naja, ich dachte auch eher weniger an Privatgebrauch, weil durch die Uni kriegt man eher andere Sprachen wie Java oder das *super geile und moderne Ruby (on Rails)* aufgebürdet. Da nutzt mir en M$-Proprietäres Progrämmchen halt nicht viel.
Und auf der Firma (wo ich halt an eienr Schnittstelle zwischen Java und C++ arbeite) sehe ich jeden Tag die Unterschiede und freue mich bzw. weine etwas...
-
Skym0sh0 schrieb:
Naja, ich dachte auch eher weniger an Privatgebrauch, weil durch die Uni kriegt man eher andere Sprachen wie Java oder das *super geile und moderne Ruby (on Rails)* aufgebürdet...
Das ist _sehr_ Uni-Abhängig.
Skym0sh0 schrieb:
Und auf der Firma (wo ich halt an eienr Schnittstelle zwischen Java und C++ arbeite) sehe ich jeden Tag die Unterschiede und freue mich bzw. weine etwas...
In welchen Bezug? Ich halte beide Sprachen für durchaus gut, jede auf ihre Art (wobei ich C# Java vorziehe).