Инструмент для автоматического форматирования или выдачи ошибок в VIM - PullRequest
1 голос
/ 05 сентября 2010

Какие плагины для vim / gvim могут сообщать о плохом форматировании кода esp C ++ и кода PLSQL.Например:

  1. пробел после строки.
  2. строка, содержащая символ более 80 (как в случае с 'match').
  3. void foo(int x,int y);, затем будет отчетзабыли пробел после ,
  4. И еще много ошибок форматирования, как указано выше.

Существует ли стандартная практика для сообщения о форматировании кода перед проверкой в ​​CVS?

1 Ответ

4 голосов
/ 05 сентября 2010

В моем случае у меня есть ряд синтаксических правил, определенных для того, чтобы такие вещи было легко обнаружить.

highlight ImproperSyntax ctermbg=red guibg=red
au BufWinEnter * syn match ImproperSyntax /\s\+$\| \+\ze\t/  "Spaces at the end of lines or BEFORE tabs
au Filetype cpp,c syn keyword ImproperSyntax dynamic_cast "disallowed keyword
au Filetype cpp,c syn match ImproperSyntax /[^\n]\%$/  display "Last line should be blank
au Filetype cpp,c syn match ImproperSyntax /\t/ display "No tabs!
au Filetype cpp,c syn match ImproperSyntax /,\S/ display "comma always has a space
au Filetype cpp,c syn match ImproperSyntax /\%80v.*$/ "Highlight any characters passed column 80

Дополнительный прием, который вы можете использовать, - это включить все это в функцию (или список)./ dictionary) и отображать их как ошибку либо в строке состояния (мои предпочтения), либо для пользователя как ошибку.

Что касается проверки в CVS ... Я не уверен насчет CVS, но SVNи hg (и, вероятно, большинство других систем контроля версий) может быть проинструктирован выполнить серию «ловушек перед фиксацией», прежде чем разрешить вам фиксацию.Один из них может быть легко запрограммирован на сканирование на то же поведение (возможно, с использованием некоторого символа переопределения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...