Я использую VS Code 1.24.0 в macOS для редактирования файлов YAML, которые сохраняются в общей папке NFS (публикуются на NAS QNAP) и используются системой Linux Ubuntu 18.
При сохранении файла YAML VS Code часто вставляет кучу непечатаемых управляющих символов, что вызывает ошибку при синтаксическом анализе YAML. Чтобы исправить это, мне нужно открыть файл с помощью vim и удалить их.
00000110 20 73 65 72 76 65 72 3a 20 4e 41 53 31 0a 20 20 | server: NAS1. |
00000120 70 65 72 73 69 73 74 65 6e 74 56 6f 6c 75 6d 65 |persistentVolume|
00000130 52 65 63 6c 61 69 6d 50 6f 6c 69 63 79 3a 20 52 |ReclaimPolicy: R|
00000140 65 74 61 69 6e 00 00 00 00 00 00 00 00 00 00 00 |etain...........|
00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 |.............|
0000027d
Примечание 1. Этого никогда не произойдет, если я использую VS Code в системе Linux и редактирую файлы локально; но мне нужно использовать это как безголовый сервер, поэтому я не хочу работать так.
Примечание 2: Похоже, это проблема, аналогичная той, которая была поднята здесь некоторое время назад, но решения нет.
Я не разобрался с этим, но vim показывает их как набор символов «@» (at). Иногда их больше сотни.
Откройте файл YAML в шестнадцатеричном редакторе или программе просмотра и посмотрите, что это за символы - эта информация будет полезна.
Они нулевые. Вот шестнадцатеричный дамп; последнее слово в файле yaml - Retain (n = 0x63) 0000130 6552 6c63 6961 506d 6c6f 6369 3a79 5220 0000140 7465 6961 006e 0000 0000 0000 0000 0000 0000150 0000 0000 0000 0000 0000 0000 0000 0000
Можете ли вы включить эту информацию в свой вопрос, чтобы вы могли правильно отформатировать шестнадцатеричный дамп, чтобы он был читабельным?
Я обновил исходный пост.
Это ненормальное поведение VS Code. Здесь есть кое-что, о чем не может быть и речи. Возможно, если вопрос устарел или недействителен, его можно было бы удалить.





Какие конкретно непечатаемые управляющие символы вставляются?