Как отобразить результаты phpcs в VIM? - PullRequest
6 голосов
/ 27 февраля 2011

В настоящее время я пытаюсь использовать PHP Codesniffer (PEAR) в vim для файлов PHP.Я нашел 2 сайта, которые дают код для добавления в файл $HOME/.vim/plugin/phpcs.vim.Я добавил код и "думаю", что он работает, но я не вижу результатов, я вижу только одну строку в самом низу vim, которая говорит (1 of 32), но я не вижу ни одной из 32 ошибок.

Вот мой файл .vimrc

" Backup Options -> Some People may not want this... it generates extra files
set backup      " Enable Backups
set backupext=.bak  " Add .bak extention to modified files
set patchmode=.orig " Copy original file to with .orig extention Before saving.

" Set Tabs and spacing for PHP as recomended by PEAR and Zend
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4

" Set Auto-indent options
set cindent
set smartindent
set autoindent

" Show lines that exceed 80 characters
match ErrorMsg '\%80v.\+'

" Set Colors
set background=dark

" Show a status bar
set ruler
set laststatus=2

" Set Search options highlight, and wrap search
set hls is
set wrapscan

" File Type detection
filetype on
filetype plugin on

" Enable Spell Checking
set spell

" Enable Code Folding
set foldenable
set foldmethod=syntax

" PHP Specific options
let php_sql_query=1     " Highlight sql in php strings
let php_htmlInStrings=1 " Highlight HTML in php strings
let php_noShortTags=1   " Disable PHP Short Tags
let php_folding=1       " Enable Ability to FOLD html Code

Я пробовал 2 разные версии phpcs.vim, и я получаю одинаковые результаты для обоих:

Версия 1 (находится по адресу: VIM и PHP IDE )

function! RunPhpcs()
    let l:filename=@%
    let l:phpcs_output=system('phpcs --report=csv --standard=YMC '.l:filename)
"    echo l:phpcs_output
    let l:phpcs_list=split(l:phpcs_output, "\n")
    unlet l:phpcs_list[0]
    cexpr l:phpcs_list
    cwindow
endfunction

set errorformat+=\"%f\"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,\"%m\"
command! Phpcs execute RunPhpcs()

Версия 2: (находится на Интегрированный код PHP в VIM )

function! RunPhpcs()
    let l:filename=@%
    let l:phpcs_output=system('phpcs --report=csv --standard=YMC '.l:filename)
    let l:phpcs_list=split(l:phpcs_output, "\n")
    unlet l:phpcs_list[0]
    cexpr l:phpcs_list
    cwindow
endfunction

set errorformat+="%f"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,"%m"
command! Phpcs execute RunPhpcs()

Обаони дают идентичные результаты.

phpcs установлен в моей системе, и я могу генерировать результаты вне vim.Буду признателен за любую помощь, я просто больше узнать о VIM ...

1 Ответ

4 голосов
/ 20 августа 2011

Преобразование комментария Мэтта в ответ, чтобы получить его из списка вопросов без ответов:


Было 2 проблемы.

  1. У меня не было имени cs YML, мне пришлось изменить его на PHPCS,
  2. Я не знал, как прокрутить список :cl -> перечисляет все ошибки на экране; :cnext -> показывает следующую ошибку.

Так что между ними теперь это работает. Спасибо за чтение, надеюсь, это поможет кому-то.

...