2008-08-27 14 views
45

En mi trabajo trato principalmente con el código C# hoy en día, con una pizca de java de vez en cuando. Lo que me encanta de Eclipse (y sé que las personas que lo usan a diario me encanta aún más) es un formateador de código sofisticado, capaz de moldear código en cualquier estándar de codificación que uno pueda imaginar. ¿Existe tal herramienta para C#? El formato de código de Visual Studio (Crtl + K, Crtl + D) es insatisfactorio y StyleCop solo verifica la fuente sin repararlo.¿Hay un formateador de código automático para C#?

Mi herramienta ideal se ejecutaría desde la consola (para una fácil inclusión en compilaciones automáticas o anzuelos precompuestos y para ejecución en Linux + Mono), tiene una configuración basada en archivos de texto fácil de almacenar en un repositorio de proyectos y un editor de reglas gráficas con vista previa, al igual que Eclipse Code Formatter.

Respuesta

42

Para Visual Studio, consulte ReSharper. Es una herramienta increíble y definitivamente imprescindible. Las versiones posteriores a la 4.0 tienen el formato de código y la función de limpieza que está buscando. También hay plugin integration with StyleCop, incluido el archivo de configuración de formato. Probablemente también desee Agent Smith plugin, para verificar la ortografía de los identificadores y comentarios. ReSharper admite archivos de configuración de formato por solución, que se pueden consultar en el sistema de control de versiones y compartir con todo el equipo. El método abreviado de teclado para la limpieza del código es Ctrl + EC.

En Visual Studio 'vainilla', archivo actual pueden formatearse automáticamente con Ctrl + KCrtl + D, y Ctrl + KCtrl + F formatea el texto seleccionado.

En cuanto a una herramienta de línea de comandos que se ejecuta en todas partes para ser utilizada con commit hooks, intente NArrange. Es gratis, puede procesar directorios completos a la vez y se ejecuta tanto en Mono como en Microsoft.Net.

Algunas personas también usan la herramienta de línea de comandos Artistic Style, aunque requiere perl y funciona mejor con el código C/C++ que con C#.

+0

funciona bien ... y lo hace más de un código de formato! – jle

2

No directamente, pero utilizo el complemento Agent Smith para R # para hacerlo. Desafortunadamente, R # no es gratis.

3

He oído solo cosas buenas sobre ReSharper. Está en mi lista para aprender.

5

Para mí, Ctrl +Shift +F mapas de encontrar en los archivos. Cuando necesito formatear código, resaltarlo y golpeó Ctrl +K,Ctrl + F .

Entiendo que esto realmente no aborda el formato automático, solo quería aclarar para aquellos que pueden no saber que esta característica existe incluso en VS.

14

con la respuesta de @ Chris Karcher - también se puede formatear automáticamente el documento completo golpeando Ctrl +K,Ctrl + D .

Estas características de formato funcionan en una variedad de formatos de archivo: funciona de maravillas en HTML feo.

2

http://www.sourceformat.com/

Esta herramienta es de alrededor de (~ 30 $), lo probé y funciona muy bien (en varios idiomas) me gusta esta herramienta el mejor primo que no comprueba el archivo de código de corrección. Puedo publicar fragmentos de código de la red y los corregirá sin importar si faltan partes del código. Otras herramientas que trato de quejarse en esos casos. La herramienta también se puede integrar fácilmente en los editores, ya que permite la conducción de línea de comando.

Otras herramientas:

http://www.polystyle.com/index.jsp

http://astyle.sourceforge.net/ (open source)

6

Otra opción: NArrange;

  • basadas libre
  • consola (tan bueno para cometer ganchos, etc., pero todavía se puede utilizar como una "herramienta externa" en VS)
  • archivo de configuración flexibles
+4

No he podido utilizar NArrange para formatear el código (¿todavía?). Todo lo que pareció hacer fue aleatorizar el orden de los miembros en mis archivos fuente en función de criterios básicamente arbitrarios, como el nivel de acceso o el tipo de miembro, pero la sangría errónea y el espaciado entre operadores dentro de los métodos no se modificaron. De hecho, los documentos de NArrange incluso dicen "NArrange actualmente no analiza el nivel de declaración de constructores, métodos y propiedades" - si esto significa lo que creo que significa, NArrange puede ser útil para la reorganización de código, pero realmente no hace mucho formateo –

1

Aquí es un proceso abierto herramienta de formato de código fuente que tiene características sorprendentes

CodeMaid

+0

¡Gracias por señalarme! – ver

+0

este complemento no es capaz de formatear el código, solo se admite el formato de comentarios – binball

1

I understa nd esto es una respuesta muy tarde, pero tal vez usted podría estar interesado en this free Addin para Visual Studio 2010/2012

12

La Fundación .NET acaba de publicar su código de la herramienta de formatear en GitHub

https://github.com/dotnet/codeformatter

Utiliza el Los servicios del compilador Rosyln analizan los documentos del proyecto y los convierten a sus convenciones de formato esperadas. Están aplicando esto a algunos de los códigos CLR muy antiguos para que todos los proyectos sean coherentes.

+0

Asegúrese de configurar su propio archivo de configuración del editor: http://editorconfig.org/ –

+0

https://github.com/dotnet/codeformatter/releases – caoanan

Cuestiones relacionadas