Bueno, a pesar de los comentarios de todos ustedes, los expertos, estoy totalmente en desacuerdo con que el problema del soporte de refactorización tenga algo que ver con la semántica del lenguaje C ++ o cualquier semántica del lenguaje para el caso. Excepto que el constructor del compilador por sí mismo no elige implementar uno en el primer caso debido a sus propias razones o restricciones, sean cuales sean.
Y no debe ofenderse, pero lamento decirle Sr. jsb, el enlace anterior que proporcionó para respaldar su caso (es decir, de yosefk) sobre el defecto de C ++ está totalmente fuera de discusión. Es más como si estuvieras dando dirección a "Los Ángeles" cuando alguien preguntó por "San Franisco".
En mi opinión, plantear el problema de la dificultad de refactorización para cierto idioma es más como poner un dedo en la integridad del idioma en sí. Especialmente para lenguajes que a veces son simplemente dolorosos ... cuando se trata de su declaración y uso de variables. :) ¡Bueno! dime cómo es que pierdes la pista de algún nodo dentro de un árbol de nodos ... ¿eh? Entonces, ¿qué puede hacer con cualquier lenguaje, ya sea tan simple como el código de nivel de máquina? Sabes que tu compilador VS puede detectar fácilmente si alguna variable o rutina es código muerto. ¿Entendido mi punto?
Acerca del desarrollo de herramientas de terceros. Creo que los proveedores de compiladores pueden implementarlo de manera mucho más fácil y efectiva si alguna vez quisieran usar una herramienta de terceros que tendrá que duplicar toda la base de datos de análisis para manejarla. Hoy en día, el compilador puede optimizar el código de manera muy eficiente a nivel de código de máquina y escucho aquí que es difícil saber cómo se usa alguna variable anteriormente. Supongo que no has prestado mucha atención al funcionamiento interno del compilador. Qué base de datos guarda.
Y seguro que es casi la misma base de datos que usa IDE para todos esos propósitos similares. En tiempos anteriores, el compilador era solo una entidad separada y el IDE solo un editor de texto con cierta especialización, pero a medida que pasa el tiempo, la brecha entre el compilador y el editor IDE se reduce y comienza a trabajar directamente en una base de datos analizada similar. Lo que hace posible manejar todos esos intellisense y refactorización u otros problemas relacionados con la sintaxis de manera más efectiva. Con todas las cosas precompiladas y compilando JIT, esta brecha es casi negligente. Por lo tanto, casi tiene sentido usar la misma base de datos para ambos propósitos o, de lo contrario, su demanda de memoria aumentará debido a la duplicación.
Todos ustedes son programadores, ¡yo no! Y ustedes parecen tener dificultades para visualizar cómo se puede implementar la refactorización para C ++ o cualquier lenguaje que no pueda comprender. Se trata simplemente de algo en lo que tienes que esforzarte más por algo menos, dependiendo de qué tan pesada sea la persona a la que intentas presionar.
De todos modos VS un buen IDE, especialmente cuando se trata de C #.
Rename all
tipo de funcionalidad como la de Xcode C ++.