LINUX.ORG.RU

[emacs][qt] Неправильный auto indentation после макросов без точки с запятой

 ,


0

1

Если не поставить точку с запятой после Q_OBJECT, то в последующих строках неправильно работает автоотступ:

class MyUberWidget : public QWidget
{
  Q_OBJECT
  public:
  MyUberWidget(QWidget *parent = 0);
};
Должно быть так:
class MyUberWidget : public QWidget
{
  Q_OBJECT
public:
  MyUberWidget(QWidget *parent = 0);
};

В гугле нашел решение, которое, к сожалению, не дает никакого эффекта:

(setq c-macro-names-with-semicolon '("Q_OBJECT" "Q_PROPERTY"))

Возможно ли это решить, не залезая в дебри c-mode/с++-mode?

немного оффтоп

Уважаемый Raving_Zealot, расскажи пожалуйста, используешь ли ты автодополнение в имаксе? Если да, и к тому же CEDET, то как тебе это удалось? Посвяти в эзотерику))) Какой бубен использовать? Как варить зелье? Ткни носом что почитать по этому вопросу. Доолго пытаюсь освоить автодополнение в имаксе, а в особенности нужно с Qt. Сорь за оффтоп

toggetit
()
Ответ на: комментарий от Eshkin_kot

Попробуйте обновить cc-mode

Спасибо за совет. Обновление cc-mode с 5.31.8 до 5.32.2 решило проблему.

Raving_Zealot ★★
() автор топика
Ответ на: немного оффтоп от toggetit

Уважаемый Raving_Zealot, расскажи пожалуйста, используешь ли ты автодополнение в имаксе? Если да, и к тому же CEDET, то как тебе это удалось? Посвяти в эзотерику))) Какой бубен использовать? Как варить зелье? Ткни носом что почитать по этому вопросу. Доолго пытаюсь освоить автодополнение в имаксе, а в особенности нужно с Qt. Сорь за оффтоп

CEDET лютое говно и чтение никакой классики не в состоянии это исправить. Сейчас для емакса самое адекватное автодополнение делается с помощью clang. Его можно прикрутить к auto-complete.

staseg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.