2011-09-06 12 views
10

Estoy usando el plugin JSLint de Visual Studio para mantener mi javascript en orden, lo que parece funcionar muy bien aparte de este problema.¿Cómo impido que Visual Studio inserte un espacio entre la definición de la función y la llamada inmediata?

Si escribo en

x = (function() { 
}()) 

y luego poner el punto y coma en el extremo, Visual Studio corrige a:

x = (function() { 
}()); 

Y luego JSLint se queja JS Lint: Unexpected space between '}' and '('.

Obviamente, esto es corregible eliminando el espacio, pero el estudio visual es muy persistente para recuperar el espacio. Poner un punto y coma en cualquier lugar dentro de la función, que es la mayor parte del archivo, hará que VS restituya el espacio. Esto comienza a ser molesto.

He intentado curioseaba con el estudio visual no pueden parecer configuración del editor Javascript ('espacio de inserción después de ...'), pero para detenerlo haciendo esto.

Otra forma en que esto se podría expresar es

x = (function() { 
})(); 

Qué VS deja sola, pero JSLint dice JS Lint: Move the invocation into the parens that contain the function. Así que no hay dados allí.

¿Alguna sugerencia? Sé que puedo quitar partes de JSLint, incluso a la vuelta de esta última línea del archivo, pero va a parecer complicado, me gustaría hacerlo un poco mejor.

Respuesta

2

que no tienen una respuesta mejor que apagar la comprobación de regla de formato espacios en blanco, pero esto es muy lamentable. Por lo que puedo decir, esta única situación que se describe aquí es el único caso en que el formato automático de Visual Studio y jslint colisionan de una manera que no se puede configurar de manera razonable.

La pérdida de todo el espacio en blanco la comprobación de este archivo de origen o de perder el cambio de formato automático del resto de su JavaScript, son ambos enfoques tanto mazo para este problema. Me encantaría ver otra opción creativa si alguien tiene una.

6

Primero de todo lo que puede hacer que Visual Studio no tan persistente si desactiva algunos ajustes por defecto:

enter image description here

Otra manera es seguir no tan exacta las reglas de formato de JSLint. Usted sólo puede incluir

/*jslint white: true */ 

para apagar la regla white space formato.

8

RESPUESTA DE ACTUALIZACIÓN VS 2013:

En VS 2013, que parecen tener un mayor control. Vaya a la ventana Herramientas> Opciones, luego en Editor de texto> Javascript> Formatear> Espaciado puede deseleccionar la penúltima opción que dice "Insertar espacio después de la palabra clave de función para funciones anónimas".

Tuve una foto pero no puedo publicarla :).

+0

El usuario preguntó específicamente por VS2010. VS-2012/13 añadió mucho más soporte de Javascript pero de eso no se trata esta pregunta ... –

+2

Es cierto, pero en 2011 VS2010 era todo lo que tenía. Busqué en Google esto en 2014 y necesitaba saber lo mismo. Por supuesto, si posteara una nueva pregunta, probablemente me marcarán por pedir un duplicado. –

+0

Tienes un punto :) –

Cuestiones relacionadas