LINUX.ORG.RU

emacs and c++


0

0

Привет кважаемое лор комьюнити. Появилась у меня необходимость допилить одине проект на с++ и встал вопрос выбора иде, первым делом конечно глянул на emacs тк он мне привычен и удобен, на данный момент пользую emacs + ecb + cedet + tramp, все редактируется и компилится на удаленной машине, tramp тут сильно порадовал, но вот semantic из cedet радует значительно меньше, почему-то периодически неможет найти определение функции, но из альтернатив увидел только xrefactor, но он платный:(. Собственно вопрос - кто чем пользуется при с++ разработке в емаксе, может кто поделится своими наработками, или я неслышал о чем-нибудь, был бы очень благодарен.

зы все собрано из cvs,

ззы начал было присматриваться к еклипсу, но на мобильном селероне с гигом памяти он меня впечатлил разве что тормозами:(


на ++ пишу довольно редко, поэтому автокомплитом никаким не пользуюсь. в принципе, посмотрите в сторону автокомплита по етагам.

единственный минус данного подхода - ретаггинг проэкта после любого изменения.

asgard
()

> начал было присматриваться к еклипсу, но на мобильном селероне с гигом памяти он меня впечатлил разве что тормозами:(

Какая JVM? gij? 8)

tailgunner ★★★★★
()
Ответ на: комментарий от asgard

>на ++ пишу довольно редко, поэтому автокомплитом никаким не пользуюсь. в принципе, посмотрите в сторону автокомплита по етагам.

сенк, гляну в принципе мне не столько автокомплит нужен, сколько быстрый переход к определениям функций, классов, но в общем-то корень проблеммы один и тотже, кстати semantic тож с etagами работает, как я понял

cvb
() автор топика
Ответ на: комментарий от tailgunner

>Какая JVM? gij? 8)

та, которую эклипс подефолту в убунте 7.10 тянет, счас сказать точно немогу что он там поставил

cvb
() автор топика
Ответ на: комментарий от cvb

> сенк, гляну в принципе мне не столько автокомплит нужен, сколько быстрый переход к определениям функций, классов

тогда etags - самое оно. < чем за минуту индексирует, например, сорцы линукс и ищет очень быстро.

> но в общем-то корень проблеммы один и тотже

не совсем. для нормального интеллектуального автокомплита etags не катит. в генерируемом таг-файле нету связей между полями и, допустим, информации о предках данного класса.

asgard
()
Ответ на: комментарий от cvb

> подефолту в убунте 7.10

Наверняка gij, известное глюкало и тормоз.

У меня тоже мобильный Cel (2.4GHz)/512M, Эклипс не то, чтобы летает, но работает с вполне премлемой скоростью.

tailgunner ★★★★★
()
Ответ на: комментарий от acefsm

>http://www.slickedit.com/content/view/353/217

судя по описанию это конечно очень круто, за исключением 2х минусов оно не в емакс и оно за деньги, хотелось бы чего-нибудь под свободной лицензией

cvb
() автор топика
Ответ на: комментарий от tailgunner

>Наверняка gij, известное глюкало и тормоз.

да действительно он, причем он является зависимостью еклипса, хотя и jre6 стоит, но не используется

cvb
() автор топика
Ответ на: комментарий от cvb

> хотя и jre6 стоит, но не используется

man update-alternatives.

или изменить все ссылки ls -l /etc/alternatives | grep java так, чтобы указывали на jre6.

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

>в генерируемом таг-файле нету связей между полями и, допустим, информации о предках данного класса.

ebrowse?

Zubok ★★★★★
()
Ответ на: комментарий от asgard

>не совсем. для нормального интеллектуального автокомплита etags не катит. в генерируемом таг-файле нету связей между полями и, допустим, информации о предках данного класса.

для нормального поиска тоже, ведь функции в разных классах могут и поразному называться, так что etags тоже не совсем то, что я хотел:(

anonymous
()
Ответ на: комментарий от Zubok

>ebrowse?

им и пользуюсь, в составе симантиека, но как-то он не все парсит

anonymous
()
Ответ на: комментарий от Cy6erBr4in

>Могу посоветовать cscope... =)

кстати семантик требует какой-то cscope.sh, в гугле я нашел несколько вариантов этого cscope.sh, но вот какой же из них тру?

anonymous
()
Ответ на: комментарий от asgard

угу, только я findом пользуюсь, тк мне по всему проекту надо

cvb
() автор топика

кстати, кто-нибудь вообще этим xrefactory пользовался? может проще купить и не мучаться, просто мне очень нехочется из емакса уходить, привык я к нему

cvb
() автор топика
Ответ на: комментарий от anonymous

> кстати семантик требует какой-то cscope.sh, в гугле я нашел несколько вариантов этого cscope.sh, но вот какой же из них тру?

тот который устанавливается по команде

aptitude install cscope

=))

Cy6erBr4in ★★★
()
Ответ на: комментарий от cvb

Его можно скачать и попользоваца (=
Не далее как вчера воевал с семантиком. Семантик привязан к EDE. После выяснения сего факта находит вродь все что нужно.
Правда конечно дополнение у него так себе.
Например
SomeClass::Come<C-n> -> Болт :]
Впрочем можно поболтать с разрабами - мож че поменяется.

Сейчас смотрю XRefactory - достаточно мощная штука.

vasily_pupkin ★★★★★
()
Ответ на: комментарий от cvb

> кстати, кто-нибудь вообще этим xrefactory пользовался? может проще купить и не мучаться, просто мне очень нехочется из емакса уходить, привык я к нему

You are required to purchase a license when using Xrefactory beyond its free evaluation period. The license allows legal use of Xrefactory during unlimited time period and contains free upgrades during several years. For more information about license conditions please read Xrefactory C++ License Agreement. If you need a longer evaluation period, contact us via email.

http://www.xref-tech.com/xrefactory/license.html

короче никто не мешает поюзать xref for c++ определённый период бесплатно и посмотреть устраивает это вас или нет.

asgard
()
Ответ на: комментарий от Cy6erBr4in

>тот который устанавливается по команде

>aptitude install cscope

>=))

да еслиб все так просто:) он-то установлен, и у меня есть cscope, но емакс хочет cscope.sh, а такого нет, и даже в гугле всего несколько линков

зы это все в убунту 7.10

cvb
() автор топика
Ответ на: комментарий от vasily_pupkin

>Впрочем можно поболтать с разрабами - мож че поменяется.

читал рассылку девелоперскую, оно меняется, но очень неторомпливо, людей надо больше, может будет свободное время - постараюсь помочь проекту, всетаки полезный очень проект

cvb
() автор топика
Ответ на: комментарий от asgard

>короче никто не мешает поюзать xref for c++ определённый период бесплатно и посмотреть устраивает это вас или нет.

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

cvb
() автор топика
Ответ на: комментарий от cvb

Всё действительно просто, может конечно в бубунте что-то намудрили,
но у меня всё из коробки работает... emacs22 и cscope установленны...
в cscope есть "модуль" для емакса (xcscope)... скрипт для "генерации" тоже в комплекте:

$ dpkg -L cscope
/.
/usr
/usr/bin
/usr/bin/ocs
/usr/bin/cscope
/usr/bin/cscope-indexer <<< вот скрипт, который "индексирует" исходники
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/cscope-indexer.1.gz
/usr/share/man/man1/cscope.1.gz
/usr/share/man/man1/ocs.1.gz
/usr/share/emacs
/usr/share/emacs/site-lisp
/usr/share/emacs/site-lisp/xcscope.el
/usr/share/doc
/usr/share/doc/cscope
/usr/share/doc/cscope/AUTHORS
/usr/share/doc/cscope/README
/usr/share/doc/cscope/contrib
/usr/share/doc/cscope/contrib/webcscope
/usr/share/doc/cscope/contrib/webcscope/hilite.c.gz
/usr/share/doc/cscope/contrib/webcscope/cgi-lib.pl.gz
/usr/share/doc/cscope/contrib/webcscope/icons
/usr/share/doc/cscope/contrib/webcscope/icons/folder.gif
/usr/share/doc/cscope/contrib/webcscope/icons/up.gif
/usr/share/doc/cscope/contrib/webcscope/icons/folder.open.gif
/usr/share/doc/cscope/contrib/webcscope/icons/c.gif
/usr/share/doc/cscope/contrib/webcscope/icons/bomb.gif
/usr/share/doc/cscope/contrib/webcscope/icons/world2.gif
/usr/share/doc/cscope/contrib/webcscope/icons/back.gif
/usr/share/doc/cscope/contrib/webcscope/icons/down.gif
/usr/share/doc/cscope/contrib/webcscope/icons/left.gif
/usr/share/doc/cscope/contrib/webcscope/cscope.gz
/usr/share/doc/cscope/contrib/webcscope/TODO
/usr/share/doc/cscope/contrib/webcscope/INSTALL
/usr/share/doc/cscope/contrib/README
/usr/share/doc/cscope/NEWS.gz
/usr/share/doc/cscope/changelog.gz
/usr/share/doc/cscope/changelog.Debian.gz
/usr/share/doc/cscope/copyright
/usr/share/doc/cscope/TODO

Cy6erBr4in ★★★
()
Ответ на: комментарий от Cy6erBr4in

>Всё действительно просто, может конечно в бубунте что-то намудрили, но у меня всё из коробки работает... emacs22 и cscope установленны... в cscope есть "модуль" для емакса (xcscope)... скрипт для "генерации" тоже в комплекте:

состав пакета у меня такой же, только emacs 23 из cvs, проблема в том, что когда я делаю m-x semanticdb-cscope... чего-то там для генерации базы тегов, он мне в буфер отвечает, что cscope.sh not found, так-то я и руками бы сгенерил, но разбираться лень, чего он хочет от cscope.sh

да и собственно я невижу преимуществ у cscope перед etags

ps таки выкачал и поставил xrefactory, ощущения весьма положительные, только неясно когда у него триал закончится, тк сам он почему-то об этом умалчивает

cvb
() автор топика
Ответ на: комментарий от Cy6erBr4in

в смысле... а etags умеет всё это:

find global definition

find functions calling this function

find files including file

find egrep pattern

find this symbol

find called functions

find this file

find this text string

?

может это я отстал от жизни... :)

Cy6erBr4in ★★★
()
Ответ на: комментарий от tailgunner

В чём проблема? Что именно в cscope не работает для C++?

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