x64 visual sp1 para microsoft c++ c-preprocessor indentation visual-c++-2010 preprocessor-directive

sp1 - Indentación de directivas de preprocesador en Visual C++ 2010



microsoft visual c++ 2013 (4)

En algún punto, Visualstudio (registrado en vs2015) adquirió opciones> editor de texto> c / c ++> formateo> sangría> posición de las directivas del preprocesador. Elija ''dejar sangrado''. La muestra no se parece exactamente a lo que usted desea, pero funciona, solo inténtelo.

A menudo me encuentro en situaciones en las que me gustaría sangrar directivas de preprocesador como el resto del código (por ejemplo, #if como if ). Parece legal , es de sentido común que a veces es algo bueno , pero Visual no lo hará fácil.

¿Hay alguna manera de evitar que el editor de Visual C ++ 2010 pegue el código a la izquierda cada vez que presiono inocentemente # ? ¿Y no romper la sangría de las directivas del preprocesador con sangría automática (CTRL + K, CTRL + F)? O incluso mejor, ¿manejar directivas de preprocesador como todo lo demás?


En las opciones de Visual Studio 2010 (Herramientas-> Opciones)

Ir al editor de texto -> C / C ++ -> Pestañas

En la sangría, seleccione Bloquear en lugar de inteligente.

Esto evitará que la tecla # lo obligue al inicio de la línea, sin embargo, si usa Ctrl + K Ctrl + F, seguirá aplicando el formato inteligente y eliminará las pestañas.

Editar: Esto también deshabilitará la sangría / desincrustación automática en otros lugares. Tener cuidado.


Mi enfoque es mantener el # en la primera columna y sangrar la palabra subsiguiente, como en:

#ifdef FIRST # include "first.h" #else # include "second.h" #endif


Solución alternativa: cuando escribe por primera vez # y Visual Studio elimina su sangría, presione ctrl + z para deshacer el formato automático.