Trotz der Kommentare aller Experten bin ich völlig anderer Meinung, dass das Problem der Refactoring-Unterstützung etwas mit der C ++ - Sprachsemantik oder einer anderen Sprachsemantik zu tun hat. Außer der Compiler-Builder selbst entscheidet sich aus eigenen Gründen oder Einschränkungen nicht dafür, einen im ersten Fall zu implementieren.
Und Beleidigung nicht zu nehmen, aber es tut mir leid zu sagen, Herr jsb, der obige Link, den Sie zur Unterstützung Ihres Falls (dh von yosefk) über C ++ - Defekte bereitgestellt haben, kommt überhaupt nicht in Frage. Es ist eher so, als würden Sie "Los Angeles" Anweisungen geben, wenn jemand nach "San Franisco" fragt.
Meiner Meinung nach ist das Problem der Refactoring-Schwierigkeit für eine bestimmte Sprache eher so, als würde man einen Finger auf die Sprachintegrität selbst legen. Besonders für Sprachen, die manchmal nur Schmerzen bereiten ... wenn es um die Deklaration und Verwendung von Variablen geht. :) Okay! Sag mir, warum verlierst du den Überblick über einen Knoten in einem Knotenbaum ... wie? Was es also mit jeder Sprache macht, sei es so einfach wie Code auf Maschinenebene. Sie wissen, dass Ihr VS-Compiler leicht erkennen kann, ob eine Variable oder Routine toter Code ist. Verstanden?
Informationen zur Entwicklung von Tools von Drittanbietern. Ich denke, Compiler-Anbieter können es viel einfacher und effektiver implementieren, wenn sie jemals ein Drittanbieter-Tool benötigen, das die gesamte Parsing-Datenbank duplizieren muss, um damit umzugehen. Heutzutage kann der Compiler Code auf Maschinencodeebene sehr effizient optimieren, und ich höre hier, dass es schwierig ist zu sagen, wie eine Variable zuvor verwendet wurde. Ich nehme an, Sie haben der inneren Arbeitsweise des Compilers keine wirkliche Aufmerksamkeit geschenkt. In welcher Datenbank wird es aufbewahrt?
Und sicher ist es die gleiche Datenbank, die IDE für all diese ähnlichen Zwecke verwendet. In der Vergangenheit war der Compiler nur eine separate Entität und die IDE nur ein Texteditor mit einer gewissen Spezialisierung. Mit der Zeit wird die Lücke zwischen Compiler und IDE-Editor jedoch kleiner und es wird direkt mit der Arbeit an einer ähnlich analysierten Datenbank begonnen. Dies ermöglicht es, all diese Intellisense- und Refactoring- oder andere syntaxbezogene Probleme effektiver zu behandeln. Bei allen vorkompilierten Dingen und JIT ist das Kompilieren dieser Lücke fast fahrlässig. Daher ist es fast sinnvoll, dieselbe Datenbank für beide Zwecke zu verwenden, da sonst Ihr Speicherbedarf aufgrund von Duplikaten steigt.
Sie alle sind Programmierer - ich nicht! Und ihr scheint Schwierigkeiten zu haben, zu visualisieren, wie Refactoring für C ++ oder eine andere Sprache implementiert werden kann, die ich nicht verstehen kann. Es geht nur um etwas, für das man sich mehr Mühe geben muss, je nachdem, wie schwer eine Person ist, die man schiebt.
Auf jeden Fall VS eine nette IDE, besonders wenn es um C # geht.
Rename all
Art Funktionalität wie die in Xcode C ++ hinzufügen .