2010-12-17 28 views
13

Estamos usando Visual Studio 2010 Professional para desarrollar y mantener el sitio web de comercio electrónico de nuestra empresa ASP (ASP clásico, no ASP.NET), y estoy teniendo codificación de archivos problemas cada vez que creo una página nueva.Cómo configurar la codificación predeterminada en Visual Studio 2010

Cada página de nuestro sitio web se guarda como Windows-1252, y cuando creo una página nueva (o aleatoriamente cuando modifico una existente) Visual Studio guarda la página usando la codificación UTF-8, atornillando caracteres extendidos o #includes (dado que el archivo incluido se guarda como Windows-1252 y la página que incluye es UTF-8, cuando se muestra el contenido incluido se vuelve loco).

He intentado buscar en todas partes, pero la única solución que encontré es "Guarde todos los archivos manualmente con" Archivo "→" Guardar como "→" Guardar con codificación ", que es bastante complicado cada vez (y Voy a olvidar hacerlo en algún momento)

Ya intenté anular la selección de la opción "Guardar documentos como Unicode cuando los datos no se pueden guardar en la página de códigos" en "Entorno" → "Documentos", pero no sirvió.

¿estoy realmente atascado con lo manual?

+0

Me tomé la libertad de eliminar "ANSI" de esto. No existe un estándar ANSI para Windows-1252. –

Respuesta

13

Estoy demasiado tarde respondiendo esto, pero yo mismo tuve el problema y este es el primer golpe en google, así que lo documentaré aquí si alguien más quiere saberlo. :)

La codificación predeterminada de un archivo nuevo en Visual Studio depende de la plantilla para ese tipo de archivo.

La plantilla de archivo JavaScript, por ejemplo, se encuentra en C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ Web \ WebNewFileItems \ JScript.js (en mi cuadro). Si edita ese archivo y lo guarda con la codificación de su elección, todos los nuevos archivos javascript creados con VS tendrán esa codificación.

Por lo tanto, puede establecer la codificación de cada tipo de archivo de forma independiente.

+0

Solución interesante. Ahora solo necesito encontrar dónde está guardando la plantilla para archivos de texto sin formato ... – Albireo

+0

C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ VSTSDB \ Items :) –

+0

es extraño que no almacene plantillas en un solo lugar como vs2003. donde esta la plantilla de C++, me pregunto – Swift

1

no sé si hay un ajuste en VS para cambiar la codificación predeterminada (aunque lo dudo mucho). Sin embargo, puede escribir fácilmente un pequeño complemento que le da un comando "Guardar como 1252" que luego se puede asignar a cualquier menú que desee.

+0

Bueno, eso puede ser una solución alternativa, pero no la mejor (y no sé nada sobre la creación de complementos de Visual Studio). Si no hay otras opciones viables, intentaré con esto. Tiempo para algunas búsquedas en los motores de búsqueda ... – Albireo

+0

Voy a vigilar aquí si alguien encuentra una mejor solución. – TToni

+1

Aquí hay un ejemplo de un complemento que evita que VS agregue listas de materiales a archivos codificados en UTF-8: https://vlasovstudio.com/fix-file-encoding/ – feetwet

-2

no lo encuentra, pero es incorporado solución, Archivo> Guardar como> a continuación, en el que el botón de guardar es, hay una flecha hacia abajo, le dará la opción de "Guardar con codificación"

selecciono de EE.UU. ASCII Porque estoy obteniendo la lista de materiales en todos mis documentos, una vez publicada.

+3

Si lee toda la pregunta, verá que OP es haciendo lo que sugieres CONSEJO: En general/para su propio desarrollo, un poco de tiempo dedicado a leer cosas correctamente puede ahorrarle mucho más tiempo a cambio de no tener que corregir los errores que podría haber evitado. ;) –

0

Lars-Erik's answer hace el truco.

Sólo tiene que añadir un poco de información:

  • Para aquellos que quieren cambiar de codificación por defecto de los archivos de MFC, Acá las plantillas:

... \ Microsoft Visual Studio 10.0 \ VC \ VCWizards \ CodeWiz \ MFC \ \ Plantillas simples \ LANG_CODE

LANG_CODE es el idioma de su VS 2010 (1033: es-2052: zh-cn, etc.)

  • En mi caso, el lenguaje de VS es en-us, y archivos de plantilla MFC están escritos en Inglés (sólo caracteres ASCII) sin UTF8 BOM, que significa que pueden ser interpretadas ya sea como UTF8 archivo o un archivo en mi código del sistema operativo página (cp932). Los archivos creados por esas plantillas se tratan en cp932 en lugar de Unicode de forma predeterminada, así que tengo que agregar la lista de materiales a esas plantillas para hacer que VS 2010 guarde los archivos explícitamente en UTF8 (también con BOM).
Cuestiones relacionadas