Re: (x)emacs как универсальный редактор
От: aka50 Россия  
Дата: 27.01.05 09:06
Оценка: 14 (3)
Здравствуйте, Abulafia, Вы писали:

A>Здравствуйте!


A> Я уже задавал вопрос здесь,

A> http://www.rsdn.ru/Forum/Message.aspx?mid=1006380&only=1
Автор: Abulafia
Дата: 27.01.05

A> и по той теме решил изучить (x)emacs, в связи с чем есть ряд вопросов,
A> на которые я не могу получить конкретных ответов -- Да/Нет
A> На сайтах как-то расплывчато об этом сказано...

A> Можно ли в emacs/xemacs (и в версиях для Windows особенно) следующее:


A>

A>
  • лёгкая настраиваемость на разные языки, шаблоны для распространенных языков (C++, Delphi, Python, PHP, ...)
    + (не видел только Delphi)
    A>
  • синтаксическая подсветка
    + (font-lock-mode)
    A>
  • контекстная подсказка: т.е. автокомплит, подсказка по параметрам функций
    + (ecb/cedet или xrefactory)
    A>
  • навигация по файлам: инкрементальный поиск, букмарки, открытие файлов (a la Ctrl+F12 в Delphi) проекта, открытие файлов из #include "..."
    +/- Не в курсе... пользуюсь grep.
    A>
  • навигация по структуре: переход к классам/переменным/полям/<что там есть в языке>.
    + (ecb/cedet или xref)
    A>
  • Шаблоны кода: т.е. разворот if --> if (...) { ... }
    +
    A>
  • Визуализация структур. Типа Object Inspector'а в Delphi
    + (ecb/cedet или xref)
    A>
  • Поддержка отладки. Это вобще отдельная песня...
    + (gdb но не знаю как это под win32)
    A>
  • Поддержка Version Control System
    + (cvs на 5+, svn на 4-, arch 5)
    A>
  • Хоть какая-то поддержка рефакторинга
    + (xref.)
    A>

    XRefactory: http://www.xref-tech.com/xrefactory/main.html
    CEdet: http://cedet.sourceforge.net/

    A> Насколько я понял по обзорам сайтов, всё это есть... Но почему-то об этом мало говорят, и вобще, вроде бы emacs мало используют, что заставляет сомневаться...

    Тут сложно сказать. Новые прогрммеры сидять во всяких KDeveloper или Eclipse. Те кто более 5-7 лет программит, попадаются на (X)emacs

    A>И вопросы по поводу отладки в C++

    A>
    A>
  • пошаговое выполнение программы, breakpoint'ы, заходы в процедуры и т.п.
    + (gbd)
    A>
  • просмотр значения переменных/объектов.
    + (gdb)
    A>
  • умный просмотр значения переменных/объектов -- массивов std::vector<>, строк std::string и т.п. Не просто как объектов со структурой, а именно содержательно

    Не очень опнял что имеется ввиду под "содержательно" .
    (gdb) n
    17                      map<std::string, Data *> dataMap;
    (gdb) n
    19                      dataMap["hello"] = new Data(10); 
    (gdb) p dataMap
    $1 = {
      _M_t = {<_Rb_tree_base<pair<const basic_string<char,string_char_traits<char>,
       __default_alloc_template<false,0> >,Data *>,
      allocator<Data *> >> = {<_Rb_tree_alloc_base<pair<const basic_string<char,string_char_traits<char>,
      __default_alloc_template<false,0> >,Data *>,allocator<Data *>,>> = {_M_header = 0x804f000}, <No data fields>}, 
        _M_node_count = 0, 
        _M_key_compare = {<binary_function<basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >,
         basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >,bool>> = {<No data fields>}, <No data fields>}}}

    Так?

    A>
  • возможность выполннения куска кода. Например, вычисление значения на лету []func(a + func2(b)).
    + (gdb)
    A>

    A> Я не против потратить много времени, чтобы изучить и настроить, запрограммировать редактор, "зато потом за пять минут долететь".



    A> Возможно ли всё это в (x)emacs, нужны ли какие-то плагины?

    Емакс — это большой конструктор. . Там все- плгины . Точнее это lisp.
  •  
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.