Ошибка с SublimeLinter в SublimeText 2

Я пытаюсь использовать SublimeLinter в SublimeText2. Пакеты установлены, node.exe тоже, путь к node.exe правильный:

{
    "sublimelinter_executable_map": {
        "javascript":"C:\\Program Files\\nodejs\\node.exe",
        "css":"C:\\Program Files\\nodejs\\node.exe"
    }
}

написать простой код:

function foo(){
    x != hg
    а = р
    в  hghhgg
}

сохранить и без сообщений linter! В то же время в консоли я вижу ошибку:

Traceback (most recent call last):
File ".\sublime_plugin.py", line 190, in on_post_save
File ".\sublime_plugin.py", line 154, in run_timed_function
File ".\sublime_plugin.py", line 189, in <lambda>
File ".\SublimeLinter.py", line 744, in on_post_save
File ".\SublimeLinter.py", line 611, in reload_view_module
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 9: ordinal not in range(128)

ОС: Win7 32bit

2 ответа

Решение

В соответствии с настройками по умолчанию для SublimeLinter (prefs>pkg settings>sublimelinter>settings-default) значение "sublimelinter_executable_map" используется только для указания пути perl/php/ruby. Поэтому использование его для путей js и css не поможет, и может даже сломать его.

Вот как я настроил линтинг для JavaSript:

  • Установите jslint с помощью Package Control (см. Wbond.com)

    Следуйте всем предварительным требованиям и инструкциям по установке, найденным здесь.

  • В User - Настройки для SublimeLinter: { "sublimelinter": true, "javascript_linter": "jslint" }
Вы также можете использовать jshint вместо этого, просто вопрос предпочтений.

Верхний регистр B в строке 4 примера кода является символом Unicode, а не символом ASCII. SublimeLinter выглядит так, как будто он ожидает ASCII-данные, поэтому считыватель завершается с ошибкой при попадании в байт Unicode.

Если вы поместите персонажа и нормальный B рядом, вы можете легко увидеть разницу:

в B
Другие вопросы по тегам