Warum ist Visual Studio bei Programmierern so beliebt?
-
knivil schrieb:
this->that schrieb:
knivil ist entweder prinzipiell gerne dagegen oder halt der (bereits vorhergesehene
) Linux Fanboy .. gegen alles von MS ...
Ich kritisiere das sing sang, yadda yadda VS ist toll. Reines Schubladendenken! Linux, vim emacs, Eclipse KDevelop habe ich ich nicht erwaehnt.
Du raffst nicht, dass es eben nur deshalb so viele Lobeshymnen gibt, weil VS einfach gut IST.
Ausserdem ging es hier um IDEs als gesamtes, und nicht nur die Texteditorfaehigkeiten. Was nuetzt mir der weltbeste Texteditor, wenn ich nicht Debuggen kann, keinen Formsdesigner habe, keine Projektverwaltung, usw.
@GPC: Das Intellisense in VS2010 wurde deutlich ueberarbeitet. Alleine das Intellisense beim Inkludieren von Headern isn Traum. Ausserdem hatte ich noch keinen Fall, bei dem es versagt hat. Selbst abgefuckte Konstrukte konnte er bei mir immer richtig aufloesen.
VS is einfach das beste Gesamtpaket (IDE eben). Jeder, der es mal laenger benutzt hat (und vor allem "Alternativen" wie KDevelop oder Eclipse) wird zustimmen muessen.
-
this->that schrieb:
@GPC: Das Intellisense in VS2010 wurde deutlich ueberarbeitet. Alleine das Intellisense beim Inkludieren von Headern isn Traum. Ausserdem hatte ich noch keinen Fall, bei dem es versagt hat. Selbst abgefuckte Konstrukte konnte er bei mir immer richtig aufloesen.
Ich schreibe nur hin und wieder was in C++, dabei hat das IntelliSense auch noch nie versagt. Da waren aber auch nur normal schwierige Sachen dabei. Ich hab nur gehört, dass es bei den überkomplexen Boost-Sachen schon mal in die Knie geht.
-
this->that schrieb:
@GPC: Das Intellisense in VS2010 wurde deutlich ueberarbeitet. Alleine das Intellisense beim Inkludieren von Headern isn Traum.
Das könnte Eclipse CDT und Netbeans C++ vor VS2010, sogar QtCreator kann das heute. *gg*
-
knivil schrieb:
...
Wie wäre es wenn du mal konkret wirst, was im VS schlechter ist, als in einer anderen IDE (Nein, ich behaupte nicht das VS perfekt ist, aber für mich ist er bislang die beste IDE für meine Aufgabe).
-
Vertikales editieren von Text kann ich in VS nicht, Visual Block Mode in Vim. Ich benutze es haeufig.
wenn ich nicht Debuggen kann, keinen Formsdesigner, keine Projektverwaltung, usw
Tja, mancher ist ohne das in seiner IDE recht aufgeschmissen.
-
knivil schrieb:
Vertikales editieren von Text kann ich in VS nicht, Visual Block Mode in Vim. Ich benutze es haeufig.
Klar kann VS das. Mit Alt und dann selektieren.
-
Und ohne Maus?
-
knivil schrieb:
Und ohne Maus?
Keine Ahnung. Mit welcher IDE geht das denn?
-
GPC schrieb:
Irgendwas bestimmtes im Kopf?
Hier mal ein paar Kleinigkeiten die mich jedesmal aufregen im VS Editor (C++):
- Keine "Zeile duplizieren" Funktion
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
- Defekte "Zeile unter/über dieser Zeile einfügen und Cursor dorthin setzen", Beispiel, da schwer zu beschreiben (| = Cursor):if(x == 123|) { // Cursor z.B. hinter 123 oder irgendwo im if statement. }
Drücke Enter: Cursor steht am Anfang der Zeile, nicht eingerückt.
- Null Fehlerberichtigung oder Refactoring im Editor (z.B. automatisch den richtigen header includen, oder eine neue Methode oder Variable anlegen, wenn ich versuche eine Methode aufzurufen/Variable zu benutzen die es noch nicht gibt.
- uvm...this->that schrieb:
Alleine das Intellisense beim Inkludieren von Headern isn Traum.
Häh? Meinst du die Dateinamenvervollständigung? Du scheinst ja sehr leicht zu begeistern zu sein. Evtl. könnte dir ein Blick über den Tellerrand nicht schaden was bei anderen IDEs (auch nicht nur C/++/# IDEs) Standard ist.
-
gastantwort schrieb:
- Keine "Zeile duplizieren" Funktion
Wenn du nichts selektiert hast und Ctrl+C drückst, wird die gesamte Zeile in die Zwischenablage kopiert (bzw. eigentlich als neuer Eintrag angehängt).. mit Strg+V kannst du sie wieder einfügen. Shift+Strg+V läuft übrigens den Zwischenablage-Ringpuffer durch
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
Okay, stört mich weniger. Aber kann man auch teilweise über Code-Snippets angehen, so wie ich dich verstehe.
- Defekte "Zeile unter/über dieser Zeile einfügen und Cursor dorthin setzen", Beispiel, da schwer zu beschreiben (| = Cursor):
if(x == 123|) { // Cursor z.B. hinter 123 oder irgendwo im if statement. }
Drücke Enter: Cursor steht am Anfang der Zeile, nicht eingerückt.
Stimmt, wäre sicher eine gute Sache. Kann man aber auch selbst implementieren. VS ist ja ohne großen Aufwand mit Kommandos/Makros erweiterbar.
- Null Fehlerberichtigung oder Refactoring im Editor (z.B. automatisch den richtigen header includen, oder eine neue Methode oder Variable anlegen, wenn ich versuche eine Methode aufzurufen/Variable zu benutzen die es noch nicht gibt.
Das sind Dinge, die man mit VAX abdecken kann. Schade dass es nicht standardmäßig im C++ Mode drin ist, sondern über ein Plugin gelöst wird.
Für C# gibt es das aber alles
-
GPC schrieb:
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
Okay, stört mich weniger. Aber kann man auch teilweise über Code-Snippets angehen, so wie ich dich verstehe.
Glaube ich nicht dass man das manuell erweitern kann. Wenn dich das nicht stört kann das nur bedeuten, dass du es noch nie besser gesehen hast
Wenn man einmal daran gewöhnt ist, dann ...
Beispiele:methode(
Warum wird schließende Klammer nicht automatisch hinzugefügt?
Beispiel 2:methode(2 * f(x, y| )
Cursor hinter y => shift+enter (oder ähnliche kombination)
=> Klammer von f wird geschlossen, semikolon hinter das letzte ), cursor ans ende der Zeile (oder nächste Zeile)Was mir eben auch noch aufgestoßen ist:
In der Mitte von langer Codezeile Enter drücken um die Zeile zu teilen => Will das rückgängig machen => Strg+Z => anstatt dass der Zeilenumbruch rückgängig gemacht wird, wird die 2. Zeile "ausgerückt" (an den Anfang der Zeile). Ich muss nochmal Strg+Z drücken um den Zeilenumbruch zu löschenIst echt traurig dass der Hauptbestandteil einer IDE, der Editor, wo quasi meine ganze Arbeit stattfindet, so stiefmütterlich behandelt wird.
Danke für die restlichen Infos.
-
Du hast recht. Es ist echt traurig, das die Menschen von MS sich hauptsächlich nur um den Compiler kümmern und versuchen diesen immer zu verbessern
[/IRONIE]
-
gastantwort schrieb:
GPC schrieb:
- Keine Syntaxvervollständigung (z.B. schließende Klammern setzen, Semikolon einfügen, geschweifte Klammern einfügen, etc.)
Okay, stört mich weniger. Aber kann man auch teilweise über Code-Snippets angehen, so wie ich dich verstehe.
Glaube ich nicht dass man das manuell erweitern kann.
Zumindest bei Statements wie for, if, while etc kann man's per Code-Snippets machen. Für alles weitere müsste man wohl ein Makro schreiben. Vielleicht hab ich morgen 'nen guten Tag und schau mal was da geht
Wenn dich das nicht stört kann das nur bedeuten, dass du es noch nie besser gesehen hast
Wenn man einmal daran gewöhnt ist, dann ...
Beispiele:methode(
Warum wird schließende Klammer nicht automatisch hinzugefügt?
Beispiel 2:methode(2 * f(x, y| )
Cursor hinter y => shift+enter (oder ähnliche kombination)
=> Klammer von f wird geschlossen, semikolon hinter das letzte ), cursor ans ende der Zeile (oder nächste Zeile)Ist jetzt nichts wonach ich mich wirklich sehnen würde, aber ich verstehe, dass es (optional) sinnvoll wäre
Was mir eben auch noch aufgestoßen ist:
In der Mitte von langer Codezeile Enter drücken um die Zeile zu teilen => Will das rückgängig machen => Strg+Z => anstatt dass der Zeilenumbruch rückgängig gemacht wird, wird die 2. Zeile "ausgerückt" (an den Anfang der Zeile). Ich muss nochmal Strg+Z drücken um den Zeilenumbruch zu löschenDas Verhalten ist zwar etwas unschön, aber stringent, weil beim Enter-Drücken auch zwei einzelne Aktionen durchgeführt wurden, wenn auch eine (einrückung) implizit. Könnte aber besser gemacht werden.
Das sind jetzt konkrete Punkte, an denen man VS wirklich verbessern kann. Dennoch würde ich nicht so weit gehen und sagen dass der Editor an sich schlecht ist. Man kann viel damit machen, ihn selbstständig erweitern und es verbessert sich auch von Version zu Version was dran. Klar ist, man ist noch nicht an einem Punkt, an dem man sagen könnte: "Alles weitere wäre Verschlimmbesserung"
Fairerweise muss man aber auch sagen, dass einer nicht unerheblichen Anzahl an Menschen viele Funktionalitäten/Shortcuts gar nicht bekannt sind, so wie die vertikale Textauswahl mit gedrückter Alt-Taste. VS kann z.B. ein paar Dinge, die nicht jedem geläufig sind:- Per Strg+I inkrementell suchen
- Strg+W wählt das Wort aus, über dem sich der Cursor grad befindet
- Alt + Pfeiltasten links recht springt zum nächsten/letzten Wortanfang
- Strg+L löscht die aktuelle Zeile und fügt Sie in den Zwischenablageringpuffer ein
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor alles aufruft
- Strg+K Strg+C kommentiert eine oder mehrere Zeilen aus.. Strg+K Strg+U unkommentiert wiederum
- Shift+Alt+Enter setzt VS in den Fullscreen modus
Wer noch mehr Shortcuts entdecken will: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=92CED922-D505-457A-8C9C-84036160639F&displaylang=en
-
knivil schrieb:
Und ohne Maus?
Shift+Alt+Pfeiltasten
-
ipsec schrieb:
Pfeiltasten
Pfeiltasten sind eh das hinterletzte, was es gibt. Ob ich meine Hand zur Maus bewege oder zu den Pfeiltasten macht qualitativ keinen Unterschied. Beidesmal habe ich verloren.
VS scheint noch oft auf diese exotischen Tasten zu setzen (FXX-Tasten, Delete, etc.) und damit die Produktivität zu hemmen.
GPC schrieb:
VS kann z.B. ein paar Dinge, die nicht jedem geläufig sind:
- Per Strg+I inkrementell suchen
- Strg+W wählt das Wort aus, über dem sich der Cursor grad befindet
- Alt + Pfeiltasten links recht springt zum nächsten/letzten Wortanfang
- Strg+L löscht die aktuelle Zeile und fügt Sie in den Zwischenablageringpuffer ein
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor alles aufruft
- Strg+K Strg+C kommentiert eine oder mehrere Zeilen aus.. Strg+K Strg+U unkommentiert wiederum
- Shift+Alt+Enter setzt VS in den Fullscreen modus
Nichts von alledem ist auf irgend eine Weise herausragend. Alle mittelmässigen Editoren beherrschen das. Da musst du schon echte Killer-Features bringen.
-
pfeilschnell schrieb:
ipsec schrieb:
Pfeiltasten
Pfeiltasten sind eh das hinterletzte, was es gibt. Ob ich meine Hand zur Maus bewege oder zu den Pfeiltasten macht qualitativ keinen Unterschied. Beidesmal habe ich verloren.
VS scheint noch oft auf diese exotischen Tasten zu setzen (FXX-Tasten, Delete, etc.) und damit die Produktivität zu hemmen.
Na ja, entweder du machst es über Meta-Keys wie Ctrl/Alt oder über getrennte Command/Edit-Modi. Beides hat seine Vor-und Nachteile.
pfeilschnell schrieb:
Nichts von alledem ist auf irgend eine Weise herausragend. Alle mittelmässigen Editoren beherrschen das. Da musst du schon echte Killer-Features bringen.
Ich muss gar nichts bringen
Ich hab nur ein paar Sachen aufgelistet, die nicht übermäßig bekannt sind. Bisher hab ich aber auch im Thread noch keine Killer-Features gesehen, die in VS fehlen (die bisher genannten sind wohl sinnvoll, aber keine Sachen, die mich unglaublich weiter bringen).
-
GPC schrieb:
Ist jetzt nichts wonach ich mich wirklich sehnen würde, aber ich verstehe, dass es (optional) sinnvoll wäre
ist wohl gewöhnungssache
VS kann z.B. ein paar Dinge, die nicht jedem geläufig sind:
- Per Strg+I inkrementell suchen
- Strg+W wählt das Wort aus, über dem sich der Cursor grad befindet
- Alt + Pfeiltasten links recht springt zum nächsten/letzten Wortanfang
- Strg+L löscht die aktuelle Zeile und fügt Sie in den Zwischenablageringpuffer ein
- Shift+F12 um herauszufinden, wer die Variable/Funktion unter dem Cursor alles aufruft
- Strg+K Strg+C kommentiert eine oder mehrere Zeilen aus.. Strg+K Strg+U unkommentiert wiederum
- Shift+Alt+Enter setzt VS in den Fullscreen modus
Nunja, mal ehrlich, die Punkte sind alle Pipifax:
Strg+W: Das kann ich mit Doppelklick auch, davon abgesehen ist die Funktion ziemlich uninteressant, was will ich im Programmcode auch mit nur einem Wort. Interessant wird das erst, wenn die Funktion, wie in IntelliJ Syntax Aware ist, sprich:int z = eineMethode(2 * andere|Methode(x, y)); // | = Cursor
Strg+W => selektiert "andereMethode",
nochmal Strg+W => selektiert "andereMethode(x, y)"
nochmal Strg+W => selektiert "2 * andereMethode(x, y)"
nochmal Strg+W => selektiert "eineMethode(2 * andereMethode(x, y))"
usw. usf. bis du die ganze Klasse selektiert hast. Das ist sinnvoll und produktivitätssteigernd, aber gibt es in VS soweit ich weiß auch nicht.Alt + Pfeiltasten: geht sogar im Windows Editor, nur mit Strg statt Alt
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entferntDie ganzen Doppelshortcuts ala Strg+K Strg+C als Standard sind sowieso eine Seuche in VS, versteh ich nicht, dass die das so machen statt mit Strg+Shift+XY oder Strg+Alt+XY wie alle anderen
-
gastantwort schrieb:
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entfernt
Na ja, wenn du einen großen Bereich selektiert hast, der bereits einzelne Kommentarzeilen enthält, dann bist du froh, wenn Strg+K Strg+C nicht einfach nur auf "invert line comment status" reagiert :p
Die ganzen Doppelshortcuts ala Strg+K Strg+C als Standard sind sowieso eine Seuche in VS, versteh ich nicht, dass die das so machen statt mit Strg+Shift+XY oder Strg+Alt+XY wie alle anderen
Strg+Shift+A ist halt per default z.B. schon für "Neues Element zum Projekt hinzufügen" (oder sowas) belegt
-
rüdiger schrieb:
hustbaer schrieb:
Warum VS? schrieb:
ipsec schrieb:
Es ist nun mal eine sehr gute IDE.
Vom Bedienkonzept mag es auch bessere geben, herausragend ist aber der Debugger. Ich behaupte, für C++ ist der VS-Debugger der beste überhaupt.Was macht den VS Debugger zum besten Debugger überhaupt?
Für VMware gibt es in Kombination mit Eclipse nun z.B. die Möglichkeit alle Befehle rückwärts zu gehen und dabei die Daten auch rückwärts richtig wiederherzustellen.Öh.
Das geht mit VMware + VS genauso.Vielleicht meinte er "ohne VMware". Zumindest kann der GDB mittlerweile "Reverse Debugging" ohne externe Hilfe.
Dann hätte er sich sehr irreführend ausgedrückt.
BTW: kann GDB das für "native" Code? Wenn ja, welche IDE (die idealerweise unter Windows verwendbar ist) unterstützt das?
(Und für "managed" Zeugs kann das VS soweit ich weiss auch ohne Hilfe)
-
GPC schrieb:
gastantwort schrieb:
Strg+K Strg+C etc.: Der Witz an der Sache ist, dass es 2 verschiedene Shortcuts dafür braucht, anstatt eine Funktion, die vorher guckt ob die Zeile schon auskommentiert ist oder nicht und jenachdem den Kommentar setzt oder entfernt
Na ja, wenn du einen großen Bereich selektiert hast, der bereits einzelne Kommentarzeilen enthält, dann bist du froh, wenn Strg+K Strg+C nicht einfach nur auf "invert line comment status" reagiert :p
Stimmt, IntelliJ macht's erstaunlicherweise trotzdem richtig :p