Я только что потерял часть своих выходных из-за этого ... джокера - пространства нулевой ширины. Я просто использовал некоторые фрагменты из групп Google и не распознал, что есть двойные символы, потому что Idea (11) их не показывал, что вызывало проблемы с анализом файла конфигурации моего приложения ... Я обнаружил это случайно в vi ,
Есть ли способ отображать такие вещи в IntelliJ (или каким-либо другим способом проверки файлов) без использования внешних редакторов.
IntelliJ 11 / Mac OS 10.7
редактировать - образец
Эти две строки выглядят одинаково как в браузере, так и в Idea. Вы можете видеть в коде страницы, что в первой строке с комментариями есть скрытое пространство нулевой ширины между mysql://
и localhost
, что вызывает проблемы. Конечно, если вы ожидаете этого «шутника», вы можете попытаться использовать поиск и заменить его, однако никто не ожидает появления знака, которого не должно быть, особенно если он не может его увидеть.
#db.default.url="jdbc:mysql://localhost/play-fullcalendar"
db.default.url="jdbc:mysql://localhost/play-fullcalendar"
источник
Uncaught SyntaxError: Unexpected token ILLEGAL
немного исследований и привел меня к мысли, что это проблема скрытых символов. Как мне найти таинственного персонажа нулевой ширины, о котором вы говорите? Просто чтобы посмотреть, в этом ли проблема ...Ответы:
Не уверен, что вы имели в виду, но вы можете постоянно включать и выключать отображение пробелов
Settings -> Editor -> General -> Appearance -> Show whitespaces
.Кроме того, вы можете установить его для текущего файла только в
View -> Active Editor -> Show WhiteSpaces
.Редактировать:
Было немного свободного времени, так как это похоже на популярную проблему, я написал плагин для проверки кода на наличие таких отклонений. Он называется локатором символов с нулевой шириной, и вы можете попробовать его .
источник
Settings -> Editor -> General -> Appearance -> Show whitespaces -> Leading | Inner | Trailing
Settings -> Editor -> Color Scheme -> General
, затем в этой категории перейдите кText -> Whitespaces
. Я изменил свой с переднего плана по умолчанию # 505050 на # 404040 и нахожу их видимыми, но не отвлекающимиОчень простое решение - найти в вашем файле (ах) символы, отличные от ascii, используя регулярное выражение. Это приятно выделит все места, где они находятся, с рамкой.
Найдите
[^\x00-\x7F]
и установите флажок для Regex.Результат будет выглядеть так (в темном режиме):
источник
$string = preg_replace( '/[^\x00-\x7F]/', null, $string ); htmlspecialchars_decode( htmlentities( html_entity_decode( $string ) ) );
Если вы пришли сюда в поисках плагина Jetbrains IDE, ознакомьтесь с этим божественным произведением
https://plugins.jetbrains.com/plugin/7448-zero-width-characters-locator
Это добавляет осмотр, который вы все желаете
источник