Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Emacs как IDE

14 views
Skip to first unread message

Vladimir Mikhaylenko

unread,
Mar 2, 2007, 1:41:52 PM3/2/07
to
Under this sun and sky, we are warmly hailing All!

Существуют ли готовые надстройки, приемлимые в использовании, для emacs
реализующие следующее:
- IntelliSence (разпознавание переменных в коде и подстановку имен функций
Java и C++)
- подсветка синтаксиса (хотя бы самая примитивная)
- интеграция с компиляторами и отладчиками Java и С++ (от толадчика требуется
трейсинг и просмотр значений, причем не только переменных)
- ident engnie и форматирование кода
- текстовая менюшка (хотя бы на первое время), очень замечательно, если с
поддержкой мышки

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

Все это интересует для ответа - а за что ж его так любят и не полюбить ли мне
его тоже? (просто применение в качестве IDE мне кажется наиболее бликим путем)

О емаксе имею представление на уровне:

$ emacs

Ой... А как отсюда выйти то теперь...

C-x C-c

Фууфф....

^____^

Заранее благодарен за ответы.

The Vision Of Council will guide your way through the Warp, All...

Artem Chuprina

unread,
Mar 2, 2007, 2:45:53 PM3/2/07
to
Vladimir Mikhaylenko -> All @ Fri, 02 Mar 2007 21:41:52 +0300:

VM> Существуют ли готовые надстройки, приемлимые в использовании, для emacs
VM> реализующие следующее:

VM> - IntelliSence (разпознавание переменных в коде и подстановку
VM> имен функций Java и C++)

Да, и вроде бы даже несколько разных. Я своими глазами видел cedet, но
не сумел с ним подружиться.

VM> - подсветка синтаксиса (хотя бы самая примитивная)

В комплекте.

VM> - интеграция с компиляторами и отладчиками Java и С++ (от
VM> толадчика требуется трейсинг и просмотр значений, причем не только
VM> переменных)

Есть интеграция с gdb. За остальные отладчики смотреть надо, мне пока
не требовалось. Сходи на emacswiki.org.

VM> - ident engnie и форматирование кода

В комплекте.

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

Как-то в консоли оно работает. Я его, во-первых, использую в иксах, а
во-вторых, у меня меню вообще отключено.

VM> Будет замечательно, если работать это все будет в консольном
VM> варианте, и поддерживать большие консоли (примерно как если я
VM> гуевую консольку растяну на весь экран)

Программы, которые не умеют адекватно реагировать на экран
нестандартного размера (а равно - на его изменение на ходу) у меня
отстреливаются, как только обнаруживается такая засада. Ибо это -
признак проблемы в ДНК автора. А емаксом я пользуюсь...

--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: r...@jabber.ran.pp.ru

Если ты не боишься синего экрана, то почему боишься черного?
(c) Д.Белявский

John Lepikhin

unread,
Mar 3, 2007, 10:35:56 AM3/3/07
to
## On Fri, 02 Mar 2007 21:41:52 +0800
## Vladimir Mikhaylenko wrote to All:

VM> Существуют ли готовые надстройки, приемлимые в использовании, для
VM> emacs реализующие следующее:
VM> - IntelliSence (разпознавание переменных в коде и подстановку
VM> имен функций Java и C++)

Package: ecb
Description: code browser for Emacs supporting several languages
ECB is source code browser for Emacs. It is a global
minor-mode which displays a couple of windows that can
be used to browse directories, files and methods.
It supports method parsing for Java, C, C++, Elisp etc.
.
Homepage: http://ecb.sourceforge.net

Имею опыт использования. Hа небольших проектах более-менее
удобно. Когда исходников более 500кб, usability начинает сильно
страдать. И в этом случае, к сожалению, приходится использовать Anjuta
и подобное.

VM> - подсветка синтаксиса (хотя бы самая примитивная)

В Емаксе встроенная, вполне навороченная и настраиваемая.

VM> - интеграция с компиляторами и отладчиками Java и С++ (от
VM> толадчика требуется трейсинг и просмотр значений, причем не
VM> только переменных)

С отладчиком ECB не сращивал, с компилятором все в порядке.

VM> - ident engnie и форматирование кода

Это у Емакса в комплекте.

VM> - текстовая менюшка (хотя бы на первое время), очень
VM> замечательно, если с поддержкой мышки
VM> Будет замечательно, если работать это все будет в консольном
VM> варианте, и поддерживать большие консоли (примерно как если я
VM> гуевую консольку растяну на весь экран)

Любой Емакс умеет и в консоли, и в иксах. Меню есть.

VM> Все это интересует для ответа - а за что ж его так любят и не
VM> полюбить ли мне его тоже? (просто применение в качестве IDE мне
VM> кажется наиболее бликим путем)

Емакс не позволяет создавать сложные интерфейсы. А в нормальных IDE -
они практически необходимость. Мне он очень удобен для работы с
ньюсами/фидошкой, вполне устраивает при чтении e-mail, оптимально
подходит при написании скрипта в 1-100кб. Список небольшой, но
получается, что 60% рабочего времени я смотрю в окошко с Емаксом.


--
mailto: john@{7!+30}.info. I am at home now.

Artem Chuprina

unread,
Mar 3, 2007, 7:16:17 AM3/3/07
to
John Lepikhin -> Vladimir Mikhaylenko @ Sat, 03 Mar 2007 18:35:56 +0300:

JL> Емакс не позволяет создавать сложные интерфейсы.

Вот этого заявления не понял. Разве что перевести его как "разработчики
IDE делают свои интерфейсные классы так, чтобы ими пользоваться было
крайне неудобно, и спасала только IDE"?

--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: r...@jabber.ran.pp.ru

Я не люблю делать что бы то ни было для целевой аудитории Microsoft
(С)энта

Alexander Pevzner

unread,
Mar 3, 2007, 8:27:14 AM3/3/07
to
On 2007-03-02, Vladimir Mikhaylenko <Vladimir.M...@p13.f254.n5010.z2.fidonet.org> wrote:

> Все это интересует для ответа - а за что ж его так любят и не полюбить ли мне
> его тоже? (просто применение в качестве IDE мне кажется наиболее бликим путем)

Его (как и vim) любят за то, что им текст редактировать удобно. После того,
как научишься им пользоваться (2-х часов не хватит. 2 недели может и хватить).

Вот именно этого удобства редактирования текста (а зачем еще нужен текстовый
редактор?) и лишена Visual Studio и подобные ей среды. И если твоя работа
заключается в написании большого количества оригинального кода, а не в
обработке самплов напильником, то эта цена кажется слишком большой за
ИнтелиСенс и прочие бантики.

--

Wishes, Alexander Pevzner (p...@pzz.msk.ru)

Valery Shishkov

unread,
Mar 3, 2007, 9:48:36 AM3/3/07
to
>>>>> "JL" == John Lepikhin wrote:

[ cut ]


JL> оптимально подходит при написании скрипта в 1-100кб.

Скрипт в 100Kb?! Ну вы, батенька, даете! :)


--
// WBR, Valery

ЁЖ - марка мотоциклов с шипованными колёсами (напр. "Ёж-Планета-Спорт",
"Ёж-Юпитер", "Ёж-НПО-Альтернатива").

Victor Wagner

unread,
Mar 3, 2007, 10:48:49 AM3/3/07
to
John Lepikhin <John.L...@p1.f156.n5070.z2.fidonet.org> wrote:

JL> Емакс не позволяет создавать сложные интерфейсы. А в нормальных IDE -

И слава богу. Интерфейсы не должны быть сложными, иначе ими пользоваться
неудобно.

Существует некоторый уровень сложности интерфейса, очень небольшой, и
вполне достижимый средсвами Emacs, при превышении которого интерфейс
нужно выкинуть, и вместо него использовать ЯЗЫК. Поскольку при такой
сложности взаимодействия язык становится более эффективным, чем
WIMP-интерфейс.


--
Нужно быть очень большим параноиком, чтобы искать ёжика на верхушке ёлки
-- П. Шумил

Victor Wagner

unread,
Mar 3, 2007, 11:19:25 AM3/3/07
to
Alexander Pevzner <p...@pzz.msk.ru> wrote:
AP> On 2007-03-02, Vladimir Mikhaylenko
AP> <Vladimir.M...@p13.f254.n5010.z2.fidonet.org>

AP> wrote:
>> Все это интересует для ответа - а за что ж его так любят и
>> не полюбить ли мне его тоже? (просто применение в качестве
>> IDE мне кажется наиболее бликим путем)
AP> Его (как и vim) любят за то, что им текст редактировать
AP> удобно. После того, как научишься им пользоваться (2-х
AP> часов не хватит. 2 недели может и хватить).
AP> Вот именно этого удобства редактирования текста (а зачем
AP> еще нужен текстовый редактор?) и лишена Visual Studio и
AP> подобные ей среды. И если твоя работа заключается в
AP> написании большого количества оригинального кода, а не в
AP> обработке самплов напильником, то эта цена кажется слишком

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

--
Не руби кабеля, на котором сидишь

Alexander Pevzner

unread,
Mar 3, 2007, 8:26:09 PM3/3/07
to
On 2007-03-03, Victor Wagner <vi...@45.free.net> wrote:
> AP> Вот именно этого удобства редактирования текста (а зачем
> AP> еще нужен текстовый редактор?) и лишена Visual Studio и
> AP> подобные ей среды. И если твоя работа заключается в
> AP> написании большого количества оригинального кода, а не в
> AP> обработке самплов напильником, то эта цена кажется слишком
>
> Э-э, зависит от размера напильника. Ковыряться в чужом коде, когда
> туда нужно внести заметные изменения, тоже в нормальном редакторе
> удобнее.

У тебя есть какая-нибудь другая теория, почему люди предпочитают бантики
Visual Studio нормальному редактору без бантиков? ;-)

Victor Wagner

unread,
Mar 4, 2007, 1:23:30 AM3/4/07
to
Alexander Pevzner <p...@pzz.msk.ru> wrote:

AP> On 2007-03-03, Victor Wagner <vi...@45.free.net> wrote:
>> AP> Вот именно этого удобства редактирования текста (а зачем
>> AP> еще нужен текстовый редактор?) и лишена Visual Studio и
>> AP> подобные ей среды. И если твоя работа заключается в AP>
>> написании большого количества оригинального кода, а не в AP>
>> обработке самплов напильником, то эта цена кажется слишком
>> Э-э, зависит от размера напильника. Ковыряться в чужом коде,
>> когда туда нужно внести заметные изменения, тоже в
>> нормальном редакторе удобнее.
AP> У тебя есть какая-нибудь другая теория, почему люди
AP> предпочитают бантики Visual Studio нормальному редактору
AP> без бантиков? ;-)

У меня нет фактов, которые требуется объяснять оной теорией.
Люди, которые предпочитали Visual Studio, попадались в единичном
количестве. Петя Квитек, например. И эти люди обычно практическим
программированием уже лет по пять не занимались, а занимались
менеджментом. Соответственно, хреновый редактор, но похожий по
интерфейсу на инструменты для менеджера, им был удобнее, чем хороший,
но непривычный.

А кодеры, в визуал студио, которых приходилось видеть - это не люди.
Это порченные мукой и чародейством Билла Гейтся заготовки для людей.

--
#/usr/bin/perl -w
use Force::Luke;

John Lepikhin

unread,
Mar 4, 2007, 2:33:52 PM3/4/07
to
## On Sat, 03 Mar 2007 15:16:17 +0800
## Artem Chuprina wrote to John Lepikhin:

JL>> Емакс не позволяет создавать сложные интерфейсы.

AC> Вот этого заявления не понял. Разве что перевести его как
AC> "разработчики IDE делают свои интерфейсные классы так, чтобы ими
AC> пользоваться было крайне неудобно, и спасала только IDE"?

Имею ввиду виджеты. Hапример, мне хотелось бы видеть напротив каждого
свернутого if/for/while или функции нормальный человеческий плюсик, и
чтоб оно было за пределами фрейма с кодом. Или чтобы подсказка по
параметрам функции всплывала рядом с курсором, а не где-то на 20см
ниже в минибуфере. И чтоб шрифты в этой подсказке были разные,
логически отделяя части друг от друга. Все это мелочи, но жизнь они
улучшают сильно. Все это мое IMHO, которое образовалось после работы с
данным конкретным IDE.

John Lepikhin

unread,
Mar 4, 2007, 2:40:59 PM3/4/07
to
## On Sat, 03 Mar 2007 17:48:36 +0800
## Valery Shishkov wrote to John Lepikhin:

JL>> оптимально подходит при написании скрипта в 1-100кб.

VS> Скрипт в 100Kb?! Hу вы, батенька, даете! :)

Разберемся в определениях: скрипт, если судить по словарям, -
программа, написанная на интерпретируемом языке. Hичего особенного в
программах такого размера я не вижу.

Artem Chuprina

unread,
Mar 4, 2007, 10:36:35 AM3/4/07
to
John Lepikhin -> Artem Chuprina @ Sun, 04 Mar 2007 22:33:52 +0300:

JL>>> Емакс не позволяет создавать сложные интерфейсы.
AC>> Вот этого заявления не понял. Разве что перевести его как
AC>> "разработчики IDE делают свои интерфейсные классы так, чтобы ими
AC>> пользоваться было крайне неудобно, и спасала только IDE"?

JL> Имею ввиду виджеты. Hапример, мне хотелось бы видеть напротив каждого
JL> свернутого if/for/while или функции нормальный человеческий плюсик, и
JL> чтоб оно было за пределами фрейма с кодом. Или чтобы подсказка по
JL> параметрам функции всплывала рядом с курсором, а не где-то на 20см
JL> ниже в минибуфере. И чтоб шрифты в этой подсказке были разные,
JL> логически отделяя части друг от друга. Все это мелочи, но жизнь они
JL> улучшают сильно. Все это мое IMHO, которое образовалось после работы с
JL> данным конкретным IDE.

Тултипы я где-то видел. И, подозреваю, оно включается настройкой.
Шрифты в тултипах вроде должен позволять, но это уже код надо будет
править. Рисовать чего-то на полях оно тоже вроде бы умеет, но в эту
сторону я совсем не копал.

--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: r...@jabber.ran.pp.ru

Все события вымышлены, после чего искажены.
<lj user=mcdowns>

Ruslan Kosolapov

unread,
Mar 4, 2007, 11:44:39 PM3/4/07
to
==[ Vladimir -> All:

VM> Существуют ли готовые надстройки, приемлимые в использовании, для
VM> emacs реализующие следующее:
[...]

http://www.kuro5hin.org/story/2003/4/1/21741/10470
http://cedet.sourceforge.net/
http://www.emacswiki.org/cgi-bin/emacs-en?CategoryProgramming

VM> Все это интересует для ответа - а за что ж его так любят

Он удобный.


PS:
см. http://willcode4beer.blogspot.com/2007/02/becoming-better-developer.html,
пункты "Master Your IDE" и "Extend and Customize Your IDE" - это про
emacs явно написано ;))

--
=[ Моча - это единственная вещь на свете,
=[ про которую нельзя сказать, что это говно.

Ruslan Kosolapov

unread,
Mar 5, 2007, 12:01:54 AM3/5/07
to
==[ John -> Artem:

JL>>> Емакс не позволяет создавать сложные интерфейсы.
AC>> Вот этого заявления не понял. Разве что перевести его как
AC>> "разработчики IDE делают свои интерфейсные классы так, чтобы ими
AC>> пользоваться было крайне неудобно, и спасала только IDE"?

JL> Имею ввиду виджеты. Hапример, мне хотелось бы видеть напротив каждого
JL> свернутого if/for/while или функции нормальный человеческий плюсик,

В принципе можно сделать - fringe в emacs есть же. Непонятно
только, зачем это надо - индикация фолдов есть, видна нормально,
нажимать плюсик мышкой - неудобно.

JL> и чтоб оно было за пределами фрейма с кодом. Или чтобы подсказка
JL> по параметрам функции всплывала рядом с курсором, а не где-то на
JL> 20см ниже в минибуфере.

Это есть в cedet AFAIR.

JL> И чтоб шрифты в этой подсказке были разные, логически отделяя
JL> части друг от друга. Все это мелочи, но жизнь они улучшают
JL> сильно. Все это мое IMHO, которое образовалось после работы с
JL> данным конкретным IDE.

От языка ещё зависит. Подсказки по параметрам функции мне вот
вообще не нужны - либо я знаю функцию, либо мне надо полное
описание, которое в tooltip не влезет всё равно.

--
=[ Фигу не смог столько сделать для французской сборной, сколько Зидан.
=[ -- футбол на ОРТ

Oleg Vershinin

unread,
Mar 5, 2007, 1:56:15 AM3/5/07
to
Vladimir Mikhaylenko <Vladimir.M...@p13.f254.n5010.z2.fidonet.org> writes:

> Under this sun and sky, we are warmly hailing All!
>
> Существуют ли готовые надстройки, приемлимые в использовании, для emacs
> реализующие следующее:
> - IntelliSence (разпознавание переменных в коде и подстановку имен функций
> Java и C++)

Про ecb и cedet уже сказали, есть еще JDEE (http://jdee.sunsite.dk) (требуется cedet)
Имена функций, их параметры показывает и вставляет, при настроенных путях
к jdk docs - дает контекстную помощь по функциям, хотя и своим способом.

Но мы его любим не за это.
--
Oleg Vershinin

John Lepikhin

unread,
Mar 5, 2007, 9:58:45 PM3/5/07
to
## On Mon, 05 Mar 2007 08:01:54 +0800
## Ruslan Kosolapov wrote to John Lepikhin:

JL>> и чтоб оно было за пределами фрейма с кодом. Или чтобы подсказка
JL>> по параметрам функции всплывала рядом с курсором, а не где-то на
JL>> 20см ниже в минибуфере.

RK> Это есть в cedet AFAIR.

Спасибо, гляну.

JL>> И чтоб шрифты в этой подсказке были разные, логически отделяя
JL>> части друг от друга. Все это мелочи, но жизнь они улучшают
JL>> сильно. Все это мое IMHO, которое образовалось после работы с
JL>> данным конкретным IDE.

RK> От языка ещё зависит. Подсказки по параметрам функции мне вот
RK> вообще не нужны - либо я знаю функцию, либо мне надо полное
RK> описание, которое в tooltip не влезет всё равно.

У меня чаще обратная ситуация: функцию помню (в крайнем случае, начну
писать - дальше редактор подскажет), знаю примерно что надо передать,
а вот что точно и в какой последовательности не помню.

Valery Shishkov

unread,
Mar 5, 2007, 11:02:50 PM3/5/07
to
>>>>> "JL" == John Lepikhin wrote:

JL>>> оптимально подходит при написании скрипта в 1-100кб.
VS>> Скрипт в 100Kb?! Hу вы, батенька, даете! :)

JL> Разберемся в определениях: скрипт, если судить по словарям, -
JL> программа, написанная на интерпретируемом языке. Hичего особенного в
JL> программах такого размера я не вижу.

Терминологически, ты, конечно прав. Но у меня слово "скрипт" в первую
очередь ассоциируется с шелловским скриптом, :) а для него 100Kb, согласись,
вполне себе приличный размер.


--
// WBR, Valery

Все работники делятся на два типа: те, кто разбираются в том, чем не они
управляют, и те, кто управляет тем, в чем они не разбираются.

john gladkih

unread,
Mar 10, 2007, 5:48:11 AM3/10/07
to
>>>>> "VW" == Victor Wagner <vi...@45.free.net> writes:

JL> Емакс не позволяет создавать сложные интерфейсы. А в нормальных IDE -

VW> И слава богу. Интерфейсы не должны быть сложными, иначе ими пользоваться
VW> неудобно.

VW> Существует некоторый уровень сложности интерфейса, очень небольшой, и
VW> вполне достижимый средсвами Emacs, при превышении которого интерфейс
VW> нужно выкинуть, и вместо него использовать ЯЗЫК. Поскольку
VW> при такой

.. под который попадает сам имакс.

--
john, http://john.kak-sam.to

Victor Wagner

unread,
Mar 10, 2007, 6:31:52 AM3/10/07
to
john gladkih <jo...@gladkih.com> wrote:
VW>> Существует некоторый уровень сложности интерфейса, очень
VW>> небольшой, и вполне достижимый средсвами Emacs, при
VW>> превышении которого интерфейс нужно выкинуть, и вместо
VW>> него использовать ЯЗЫК. Поскольку при такой
jg> .. под который попадает сам имакс.

Ну так для этого в нем mini-buffer-ы и существуют.

--
Реляционная база данных - не единственный способ сделать дурацкий поиск.

0 new messages