Русское сообщество Sublime Text

Основной раздел => Вопросы и ответы => Тема начата: MADONZY от Марта 21, 2014, 03:21:31

Название: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 03:21:31
Всем привет!
Узнал что в ST3 появился плагин SublimeLinter (аля SublimeClang) для С/С++ и сразуже себе его установил. Но почему-то он не работает, может проблемма в настройках? Но я ничего не могу там понять. Вот User Settings:
{
    "user": {
        "debug": false,
        "delay": 0.25,
        "error_color": "D02000",
        "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
        "gutter_theme_excludes": [],
        "lint_mode": "background",
        "linters": {
            "clang": {
                "@disable": false,
                "args": [],
                "excludes": [],
                "extra_flags": "",
                "include_dirs": []
            }
        },
        "mark_style": "outline",
        "no_column_highlights_line": false,
        "paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "python_paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "rc_search_limit": 3,
        "shell_timeout": 10,
        "show_errors_on_save": true,
        "show_marks_in_minimap": true,
        "syntax_map": {
            "html (django)": "html",
            "html (rails)": "html",
            "html 5": "html",
            "php": "html",
            "python django": "python"
        },
        "warning_color": "DDB700",
        "wrap_find": true
    }
}

Помогите пожалуйста, очень нужная для меня вещь.
П.С: Я пользуюсь виндой 8.1
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 13:47:36
Кроме самого SublimeLinter, нужен SublimeLinter-clang (https://github.com/nirm03/SublimeLinter-clang).

При условии, что clang прописан в переменную окружения PATH, все должно работать без дополнительной настройки.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 15:09:50
Я установил вот этот плагин: "SublimeLinter-contrib-clang", можешь кинуть готовую настройку и рассказать как онработает? Мне нужно что-бы при сохранении файла мне подсвечивались ошибки и внизу писало характер ошибок. Ну как в SublimeClang для ST2.
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 15:17:36
Я не менял ни одной настройки. Могу скинуть, конфиг по-умолчанию.

Плагин подсвечивает строки с ошибкой "на лету". Описания ошибки нет.

Путь до clang объявлен в переменной PATH? Он доступен через консоль?
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 15:19:24
Loac, а что значит прописать clang в PATH? у меня стоит MinGW а не Clang
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 15:25:13
В Windows есть переменная окружения PATH. Приложения, расположенные в директориях, которые указаны в этой переменной, доступны из любого места операционной системы. В XP она находится тут (см. скриншот).

Я думал компилятор у тебя уже установлен и работает.

Насколько я понимаю, нужен сам clang http://clang.llvm.org/
Там есть версии для MinGW Clang Binaries for Mingw32/x86. Я с сями почти не знаком, вряд ли смогу тебе помочь в тонкой настройке.

Если ничего не получится, пришли мне, что у тебя должно компилироваться. Попробую на досуге настроить компот из MinGW + clang + SublimeText )
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 17:53:47
Когда-то пробывал под винду установить clang, но безрезультатно. Пишу на C++. Может можешь что-то подсказать?
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 19:59:13
Установить Clang ;)

У меня на Windows XP работает версия: http://llvm.org/releases/download.html#2.9 (Clang Binaries for Mingw32/x86).

Распаковываешь, указываешь его в PATH C:\clang\bin, например.

В настройках SublimeText "extra_flags" указываешь путь до папки include в MinGW.

В настройках SublimeText "include_dirs" указываешь путь до папки include в MinGW.

Например:
"include_dirs": ["C:/MinGW/include"].
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 20:20:37
1) Скачал
2) Распаковал на С:\
3) Прописал в PATH
4) В user settings написал путь к C:/MinGW/include (не знаю правильно ли в Винде использывать простые слэши)
И всёравно не работает. Делаю ошибку и ничего не выделяется. И не могу понять как MinGW знает о clang если они никде кроме PATH не встречаются. Может нужно файлы из архива перекинуть в папку MinGW (соответственно) ?

Вот файл настройки:
{
    "user": {
        "debug": true,
        "delay": 0.25,
        "error_color": "D02000",
        "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
        "gutter_theme_excludes": [],
        "lint_mode": "background",
        "linters": {
            "clang": {
                "@disable": false,
                "args": [],
                "excludes": [],
                "extra_flags": "C:/MinGW/include",
                "include_dirs": []
            }
        },
        "mark_style": "outline",
        "no_column_highlights_line": false,
        "paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "python_paths": {
            "linux": [],
            "osx": [],
            "windows": []
        },
        "rc_search_limit": 3,
        "shell_timeout": 10,
        "show_errors_on_save": false,
        "show_marks_in_minimap": true,
        "syntax_map": {
            "html (django)": "html",
            "html (rails)": "html",
            "html 5": "html",
            "php": "html",
            "python django": "python"
        },
        "warning_color": "DDB700",
        "wrap_find": true
    }
}
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 20:26:22
MinGW ничего не надо знать. Clang берет заголовки из папки include.

ой, не "extra_flags", а "include_dirs": ["C:/MinGW/include"].

Все, блин. Пятница, конец рабочего дня, голова не варит )
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 21:08:55
Получилось, спасибо. Но показывает бредятину:(http://s27.postimg.org/vbh1iw1mr/fff.jpg) как это аргументировать?)
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 21:14:48
Тем что нету заголовка iostream. Попробуй stdio и делай вывод через printf.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 21:15:45
ахаха что за бред)) это же c++)))
как это поправить
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 21, 2014, 21:32:44
Я грю, в той папке нету заголовков iostream.

Правда, если их подключить lib/gcc/mingw32/4.8.1/include/c++ ошибки перестают появляться. Дальше пока не знаю куда копать.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 21, 2014, 21:52:35
Да, но ошибот теперь вообще никаких нет...
что делать?(
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 22, 2014, 15:47:57
никаких идей?(
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 22, 2014, 18:17:54
Взять другие версии MinGW и Clang. Я попробовал 4.6.2 (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/).

Скачал MinGW (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/x86_64-w64-mingw32-gcc-4.6.2-stdthread_rubenvb.7z/download) и Clang (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/x86_64-w64-mingw32-clang-3.0-4_rubenvb.7z/download). Распаковал их в одну директорию d:\mingw. Добавил в PATH d:\mingw\bin.

Приложение компилируется, ошибки подсвечиваются.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 22, 2014, 21:26:29
Loac, ссылки на clang и mingw одинаковы, может ты ошибся?
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Марта 23, 2014, 00:34:48
Они разные.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Марта 23, 2014, 14:20:00
Спасибо!! Заработало)
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Апреля 02, 2014, 05:05:33
Loac, а какой путь стоит в линуксе прописать?
Пробовал вот такой - /usr/include/c++/4.8
не работет
версия gcc 4.8
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Апреля 02, 2014, 10:59:22
Похоже на правду. К сожалению, пока нет возможности проверить.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Апреля 02, 2014, 12:49:28
Ех( Ну может кто-то другой знает?) Очень неудобно работать...
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Апреля 02, 2014, 13:14:58
нашел вот такую тему но как-то не очень...
https://github.com/nirm03/SublimeLinter-clang/issues/1
но прогресс есть. Ошибки подсвечиваются, но библиотек не видит.
Когда в include_dir ввожу "/usr/include/c++/4.8" то ошибки пропадают и ничего вообще не происходит, теперь никакие ошибки не подсвечиваются.
Когда убираю то пишет што iostream cstdlib и т.д. не найдены.
Название: Re: SublimeLinter настройка плагина!
Отправлено: MADONZY от Апреля 02, 2014, 13:16:25
Заработало)
Помогла вставка:
-internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/backward -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.2/include -internal-isystem /usr/include/clang/3.2/include/ -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/includeв "extra_flags"))
и к стати не нужно добавлять "include_dirs" вообще просто установить clang)
Название: Re: SublimeLinter настройка плагина!
Отправлено: Loac от Апреля 02, 2014, 16:11:49
и к стати не нужно добавлять "include_dirs" вообще просто установить clang)
лол