Я использую Sublime Text 3 (версия 3.1.1, сборка 3176) в macOS High Sierra (версия 10.13.3).
я хочу сделать SublimeLinter-cppcheck
плагин & cppcheck
работать в моем Sublime Text 3, поэтому я установил их в соответствии с эта ссылка и другие веб-сайты.
Теперь мой SublimeLinter.sublime-settings
это так.
(Я также использую плагин для Python, поэтому есть настройки для flake8.)
{
"debug": true,
"linters": {
"cppcheck": {
"@disable": false,
"source": "source.cpp",
"lint_mode": "save",
"args": [],
"enable": "style",
"excludes": [],
"std": ["c++11"]
},
"flake8": {
"@disable": false,
"source": "source.py",
"args": ["--ignore=E111"],
"enable": "style",
"excludes": [],
}
},
}
Затем я проверяю, были ли они успешно установлены или нет test.cpp
что показано ниже.
#include <iostream>
using namespace std;
int main()
{
cout << "it works" << endl;
return 0;
Этот код, очевидно, содержит ошибку, поэтому, если они были успешно установлены, в коде появятся некоторые результаты.
В консоли отладки, кажется, работает cppcheck, поэтому я думаю, что мне удалось установить его. Вот вывод консоли отладки.
SublimeLinter: sublime_linter.py:249: Delay buffer 28 for 0.1s
SublimeLinter: sublime_linter.py:249: Delay buffer 28 for 0.0s
SublimeLinter: linter.py:798: Checking lint mode background vs lint reason on_save
SublimeLinter: #98 linter.py:818: 'cppcheck' is linting 'test.cpp'
SublimeLinter: #98 linter.py:1174: Running ...
/Users/ASHIJANKEN/Desktop (working dir)
$ /usr/local/bin/cppcheck --template=gcc --inline-suppr --quiet --std=c++11 --enable=style /Users/ASHIJANKEN/Desktop/test.cpp
SublimeLinter: #98 linter.py:866: cppcheck output:
/Users/ASHIJANKEN/Desktop/test.cpp:6:0: warning: Invalid number of character '{' when no macros are defined. [syntaxError]
{
^
SublimeLinter: #98 linter.py:906: cppcheck: No match for line: '{'
SublimeLinter: #98 linter.py:906: cppcheck: No match for line: '^'
SublimeLinter: sublime_linter.py:432: Linting buffer 28 took 0.03s
Тем не менее, в окне редактирования не появляется никакого результата.
Я не знаю, почему результаты ворса не появляются. Где я допустил ошибки?
Я знаю, что cppcheck не работает, когда lint_mode является background (Связанная проблема). это связано с этим странным поведением?
В моей среде, наконец, я решил эту проблему, удалив раздел ниже из SublimeLinter.sublime-settings
,
"cppcheck": {
"@disable": false,
"source": "source.cpp",
"lint_mode": "save",
"args": [],
"enable": "style",
"excludes": [],
"std": ["c++11"]
},
Других решений пока нет …