2012-03-26 14 views
132

Acabo de perder parte de mi fin de semana debido a esto ... joker - espacio de ancho cero. Acabo de usar algunos fragmentos de grupos de Google y no reconocí que hay caracteres duplicados, porque Idea (11) no los mostró, lo que causaba problemas al analizar el archivo de configuración de mi aplicación ... Lo descubrí accidentalmente en vi .Cómo mostrar los caracteres ocultos por defecto (ZERO WIDTH SPACE es decir & # 8203)

¿Hay alguna manera de mostrar tales cosas en IntelliJ (o de alguna otra manera para examinar archivos) sin usar editores externos?

IntelliJ 11/Mac OS 10.7

editar - muestra

Estas dos líneas se ve idéntica, en el navegador y también en la idea. Puede ver en el código de la página que en la primera línea comentada hay espacio oculto de ancho cero entre mysql:// y localhost, lo que causa problemas. Por supuesto, si espera ese 'joker', puede intentar usar la búsqueda y reemplazarlo, sin embargo, nadie espera que el letrero no esté allí, especialmente si no puede verlo de ninguna manera.

#db.default.url="jdbc:mysql://​localhost/play-fullcalendar" 
db.default.url="jdbc:mysql://localhost/play-fullcalendar" 
+9

Este personaje debe ser prohibido por un tratado internacional. Es un arma de distracción masiva. Perdí todo un día tratando de descubrir cuál es la causa de un misterioso error que aparece en mi consola js. En serio, ¿un personaje de ancho cero? Esa es una receta perfecta para problemas. ¿Qué pensaba el comité de estándares de UTF? – Nick

+0

@Nick, tengo problemas para cargar mi JS (obtengo un signo de interrogación dentro de un diamante, al final del archivo), y creo que es un problema de codificación. Obtengo un 'Sintax SyraxError: Inexpected token ILEGAL' y un poco de investigación me llevó a la idea de que es un problema de símbolo oculto. ¿Cómo puedo encontrar este misterioso personaje de ancho cero del que estás hablando? Solo para ver si ese es el problema ... – Milkncookiez

Respuesta

254

No está seguro de lo que quería decir, pero se puede activar de forma permanente mostrar espacios en blanco dentro y fuera de Settings -> Editor -> General -> Appearance -> Show whitespaces.

Además, puede configurarlo para un archivo actual solo en View -> Active Editor -> Show WhiteSpaces.

Editar:

tenía algo de tiempo libre, ya que parece un tema muy popular, que había escrito un plugin para inspeccionar el código de tal alteración. Se llama localizador de caracteres de ancho cero y le invitamos al give it a try.

+2

ellou 'Vic, gracias por responder. Lamentablemente, esta opción no muestra el "espacio de ancho cero" mencionado en el tema. Estoy seguro de que el personaje existe, porque puede mostrarlo con ie. Vi, pero no puedo verlo en Idea:/ – biesior

+2

Ya veo ... Supongo que tendremos que esperar que CrazyCoder diga que no es compatible o algo como esto :) – Vic

+0

Hola, he instalado el complemento ...pero en realidad no funciona para el personaje de longitud cero con el que tengo un problema. –

-3

¿qué pasa con la función de expresión regular? ¿Esto no es relevante? [Ctrl] + [f] y escribiendo regex ...

+3

El problema es que nadie espera a los personajes si no puede verlos. En tal situación, debería realizar búsquedas maníacas de vez en cuando, para asegurarme de no haber copiado ningún bromista de algún lado. Edité la pregunta, puedes verla por tu cuenta, primero, la línea comentada contiene espacio en blanco. – biesior

+2

Algunos dicen que si tienes un problema y tratas de resolverlo con una expresión regular, terminas con dos problemas ... ;-) – Piohen

+0

actualizó esto para ser más efectivo, y presumiblemente una respuesta aceptable –

42

Una solución muy simple es buscar su (s) archivo (s) para caracteres no ascii usando una expresión regular. Esto resaltará muy bien todos los puntos donde se encuentran con un borde.

Busque [^\x00-\x7F] y marque la casilla para Regex.

El resultado se verá así (en modo oscuro):

zero width space made visible

+0

Thx, en realidad acepté y dio una recompensa a la respuesta de Vic por un plugin que creó para resolver el problema, que está vinculado al final de su respuesta. – biesior

+1

Sí, lo vi. Está bien merecido Pero para algunas personas simplemente hacer esta búsqueda podría ser una solución mucho más rápida que la instalación de un complemento. – Micros

+0

Veo lo que quiere decir ahora, sonaba como si dijera que la primera respuesta no funciona. Reformé mi sugerencia. – Micros

Cuestiones relacionadas