Je viens de perdre une partie de mon week-end à cause de cela ... joker - espace de largeur nulle. Je viens d'utiliser des extraits de groupes Google et je n'ai pas reconnu qu'il y avait des caractères doublés, car Idea (11) ne les montrait pas, ce qui posait des problèmes avec l'analyse du fichier de configuration de mon application ... Je l'ai découvert accidentellement dans vi .
Existe-t-il un moyen d'afficher de telles choses dans IntelliJ (ou une autre façon d'examiner les fichiers) sans utiliser d'éditeurs externes.
IntelliJ 11 / Mac OS 10.7
modifier - échantillon
Ces deux lignes semblent identiques, dans le navigateur et également dans Idea. Vous pouvez voir dans le code de la page que dans la première ligne commentée, il y a un espace de largeur nulle caché entre mysql://
et localhost
, ce qui cause des problèmes. Bien sûr, si vous vous attendez à ce 'joker', vous pouvez essayer d'utiliser la recherche et le remplacer, mais personne ne s'attend à ce que le signe ne devrait pas être là, surtout s'il ne peut le voir en aucune façon.
#db.default.url="jdbc:mysql://localhost/play-fullcalendar"
db.default.url="jdbc:mysql://localhost/play-fullcalendar"
la source
Uncaught SyntaxError: Unexpected token ILLEGAL
peu et un peu de recherche m'a conduit à l'idée que c'est un problème de symbole caché. Comment puis-je trouver ce mystérieux personnage de largeur nulle dont vous parlez? Juste pour voir si c'est le problème ...Réponses:
Vous ne savez pas ce que vous vouliez dire, mais vous pouvez activer et désactiver définitivement l'affichage des espaces blancs
Settings -> Editor -> General -> Appearance -> Show whitespaces
.Vous pouvez également le définir pour un fichier actuel uniquement dans
View -> Active Editor -> Show WhiteSpaces
.Éditer:
A eu du temps libre car cela ressemble à un problème populaire, j'avais écrit un plugin pour inspecter le code pour de telles anomalies. Il est appelé localisateur de caractères de largeur nulle et vous êtes invité à l' essayer .
la source
Settings -> Editor -> General -> Appearance -> Show whitespaces -> Leading | Inner | Trailing
Settings -> Editor -> Color Scheme -> General
, puis dans cette catégorie, accédez àText -> Whitespaces
. J'ai changé le mien du premier plan par défaut # 505050 en # 404040, et je les trouve visibles mais pasUne solution très simple consiste à rechercher dans votre fichier (s) des caractères non-ascii en utilisant une expression régulière. Cela mettra bien en évidence tous les endroits où ils se trouvent avec une bordure.
Recherchez
[^\x00-\x7F]
et cochez la case Regex.Le résultat ressemblera à ceci (en mode sombre):
la source
$string = preg_replace( '/[^\x00-\x7F]/', null, $string ); htmlspecialchars_decode( htmlentities( html_entity_decode( $string ) ) );
Si vous êtes venu ici à la recherche du plugin Jetbrains IDE, consultez cette pièce divine
https://plugins.jetbrains.com/plugin/7448-zero-width-characters-locator
Il ajoute l'inspection que vous désirez tous
la source