2014-12-23 2 views
13

Я использую Vim с плагином и eslint syntastic.vim с синтаксисом и eslint: показать предупреждения

Когда я сохраняю файл JavaScript, я вижу, что ошибки возникают очень хорошо, но я не могу получить предупреждения для показа.

Вот что у меня есть в моем .vimrc:

пусть г: syntastic_javascript_checkers = [ 'eslint']

Я установил eslint с:

НПМ установки eslint - g

Я работаю Linux Mint 17

Как я могу получить предупреждения?

+2

Eslint сообщает предупреждения по умолчанию, если вы не используете '--quiet'. Вы файл '.eslintrc'? – romainl

+0

Я не вижу предупреждений с файлом .eslintrc или без него –

+2

Что происходит, когда вы запускаете eslint прямо в своей оболочке? – romainl

ответ

11

Оказалось, что проблема в том, что «предупреждения», которые, как я думал, у меня в моем файле, на самом деле не были предупреждениями. Когда я положил актуальным Предупреждение в моем файле было обнаружено правильно.

Некоторые советы я узнал, хотя был первым запустить файл из командной строки непосредственно с помощью eslint похожее на это:

eslint /path/to/file.js 

Затем сравните эти результаты с тем, что вы видите в Vim.

Еще один совет, который вы можете изменить правила на лету с комментарием синтаксиса, как это:

/*eslint <rule>=1*/ 
8

Я действительно не знаю, если это поможет, но я положил его здесь. У меня была аналогичная проблема, но в моем случае это было связано с версией синтаксиса, поэтому простой git pull решил это. Моя конфигурация ВИМ несколько канонический, поэтому я поделюсь, что:

let g:syntastic_mode_map = { 'mode': 'active', 
          \ 'active_filetypes': ['python', 'javascript'], 
          \ 'passive_filetypes': [] } 

set statusline+=%#warningmsg# 
set statusline+=%{SyntasticStatuslineFlag()} 
set statusline+=%* 

let g:syntastic_always_populate_loc_list = 1 
let g:syntastic_auto_loc_list = 1 
let g:syntastic_check_on_open = 1 
let g:syntastic_check_on_wq = 0 
let g:syntastic_javascript_checkers = ['eslint'] 

При открытии файла, который содержит некоторые ошибки, он должен показать, что в окне сообщения об ошибке.