Acabo de perder parte de mi fin de semana debido a esto ... bromista: 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 estaba causando problemas al analizar el archivo de configuración de mi aplicación ... Lo descubrí accidentalmente en vi .
¿Hay alguna manera de mostrar tales cosas en IntelliJ (o alguna otra forma de examinar archivos) sin usar editores externos?
IntelliJ 11 / Mac OS 10.7
editar - muestra
Estas dos líneas se ven idénticas, en el navegador y también en Idea. Puede ver en el código de la página que en la primera línea comentada hay un espacio oculto de ancho cero entre mysql://
y localhost
, lo que causa problemas. Por supuesto, si espera ese 'bromista', puede intentar usar la búsqueda y reemplazarlo, sin embargo, nadie espera el signo que no debería estar 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"
fuente
Uncaught SyntaxError: Unexpected token ILLEGAL
un poco de investigación y me llevó a la idea de que es un problema de símbolos ocultos. ¿Cómo encuentro este misterioso personaje de ancho cero del que estás hablando? Solo para ver si ese es el problema ...Respuestas:
No estoy seguro de lo que quiso decir, pero puede activar y desactivar permanentemente los espacios en blanco
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 problema popular, había escrito un complemento para inspeccionar el código en busca de tales anomalías. Se llama localizador de caracteres de ancho cero y puedes probarlo .
fuente
Settings -> Editor -> General -> Appearance -> Show whitespaces -> Leading | Inner | Trailing
Settings -> Editor -> Color Scheme -> General
, luego dentro de esa categoría, vaya aText -> Whitespaces
. Cambié el mío del primer plano predeterminado # 505050 a # 404040, y los veo visibles pero no distraenUna solución muy simple es buscar en su (s) archivo (s) caracteres no ascii usando una expresión regular. Esto resaltará muy bien todos los lugares donde se encuentran con un borde.
Busque
[^\x00-\x7F]
y marque la casilla Regex.El resultado se verá así (en modo oscuro):
fuente
$string = preg_replace( '/[^\x00-\x7F]/', null, $string ); htmlspecialchars_decode( htmlentities( html_entity_decode( $string ) ) );
Si viniste aquí buscando el complemento IDE de Jetbrains, echa un vistazo a esta pieza divina
https://plugins.jetbrains.com/plugin/7448-zero-width-characters-locator
Agrega inspección que todos ustedes desean
fuente