all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* emacs as an ide
@ 2003-10-09  8:11 Martin
  2003-10-09 13:06 ` Phillip Lord
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Martin @ 2003-10-09  8:11 UTC (permalink / raw)


Hi,

I want to use emacs as an ide.  I can see how to set it up to simply compile
the current file, but I would also like to be able to build projects (ie.
compile multiple files and then link them), and build a solution - ie build
multiple projects.

Is it possible to add buttons or menu options that execute appropriate make
commands?  Also would it still be able to hook up any compile error messages
with the appropriate source file?

Thanks alot
Martin

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-09  8:11 emacs as an ide Martin
@ 2003-10-09 13:06 ` Phillip Lord
  2003-10-09 17:56 ` Pascal Bourguignon
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Phillip Lord @ 2003-10-09 13:06 UTC (permalink / raw)


>>>>> "Martin" == Martin  <x@y.z> writes:

  Martin> Hi,

  Martin> I want to use emacs as an ide.  I can see how to set it up
  Martin> to simply compile the current file, but I would also like to
  Martin> be able to build projects (ie.  compile multiple files and
  Martin> then link them), and build a solution - ie build multiple
  Martin> projects.

  Martin> Is it possible to add buttons or menu options that execute
  Martin> appropriate make commands?  Also would it still be able to
  Martin> hook up any compile error messages with the appropriate
  Martin> source file?

It's certainly possible to do this, but its more probable that you
don't want to. 

Emacs already has a lot of support for compilation, through make for
example. Specify your build with make, and the M-x compile (or
Tools-->Compile) will do the job. Whether emacs will parse the compile
error messages or not, depends on what language you are talking about,
and what compiler.

Cheers

Phil

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-09  8:11 emacs as an ide Martin
  2003-10-09 13:06 ` Phillip Lord
@ 2003-10-09 17:56 ` Pascal Bourguignon
  2003-10-09 18:52 ` kgold
  2003-10-10 10:05 ` Martin
  3 siblings, 0 replies; 22+ messages in thread
From: Pascal Bourguignon @ 2003-10-09 17:56 UTC (permalink / raw)



"Martin" <x@y.z> writes:
> Hi,
> 
> I want to use emacs as an ide.  I can see how to set it up to simply compile
> the current file, but I would also like to be able to build projects (ie.
> compile multiple files and then link them), and build a solution - ie build
> multiple projects.

I do this editing makefiles and M-x compile RETURN.

If you don't want to write your own makefile (it's quite easy actually
C-h  i m  make RET),  you could  try to  use sophisticated  tools that
generate makefiles  for you,  like automake, autoconf,  configure, but
this is really using a nuke to kill a fly.


> Is it possible to add buttons or menu options that execute appropriate make
> commands?  Also would it still be able to hook up any compile error messages
> with the appropriate source file?

-- 
__Pascal_Bourguignon__
http://www.informatimago.com/
Do not adjust your mind, there is a fault in reality.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-09  8:11 emacs as an ide Martin
  2003-10-09 13:06 ` Phillip Lord
  2003-10-09 17:56 ` Pascal Bourguignon
@ 2003-10-09 18:52 ` kgold
  2003-10-10 10:05 ` Martin
  3 siblings, 0 replies; 22+ messages in thread
From: kgold @ 2003-10-09 18:52 UTC (permalink / raw)


M-x compile runs make as the default.
M-x next-error steps through the errors (also works after grep)

For single key stokes, I use:

(global-set-key [pause]	     'compile)
(global-set-key [C-pause]    'next-error)

"Martin" <x@y.z> writes:
> 
> I want to use emacs as an ide.  I can see how to set it up to simply compile
> the current file, but I would also like to be able to build projects (ie.
> compile multiple files and then link them), and build a solution - ie build
> multiple projects.
> 
> Is it possible to add buttons or menu options that execute appropriate make
> commands?  Also would it still be able to hook up any compile error messages
> with the appropriate source file?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-09  8:11 emacs as an ide Martin
                   ` (2 preceding siblings ...)
  2003-10-09 18:52 ` kgold
@ 2003-10-10 10:05 ` Martin
  2003-10-10 12:59   ` Phillip Lord
  2003-10-16 21:18   ` Kai Grossjohann
  3 siblings, 2 replies; 22+ messages in thread
From: Martin @ 2003-10-10 10:05 UTC (permalink / raw)


Philip, Pascal, kgold,

Thanks for your replies.  I reckon I would use the Tools Compile option to
compile the current buffer.
To build the current project and current solution, I would use different
make commands. (I already have a make file with appropriate targets in it)
However I am too lazy to do the M-x compile command - I don't want to have
to type any commands.  I just want to configure the commands and then access
them from a button or menu.

Do you know how I do that?

Thanks
Martin

"Martin" <x@y.z> wrote in message
news:IK8hb.467$7b5.44@newsfep1-gui.server.ntli.net...
> Hi,
>
> I want to use emacs as an ide.  I can see how to set it up to simply
compile
> the current file, but I would also like to be able to build projects (ie.
> compile multiple files and then link them), and build a solution - ie
build
> multiple projects.
>
> Is it possible to add buttons or menu options that execute appropriate
make
> commands?  Also would it still be able to hook up any compile error
messages
> with the appropriate source file?
>
> Thanks alot
> Martin
>
>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-10 10:05 ` Martin
@ 2003-10-10 12:59   ` Phillip Lord
  2003-10-16 21:18   ` Kai Grossjohann
  1 sibling, 0 replies; 22+ messages in thread
From: Phillip Lord @ 2003-10-10 12:59 UTC (permalink / raw)


>>>>> "Martin" == Martin  <x@y.z> writes:

  Martin> Philip, Pascal, kgold,

  Martin> Thanks for your replies.  I reckon I would use the Tools
  Martin> Compile option to compile the current buffer.  To build the
  Martin> current project and current solution, I would use different
  Martin> make commands. (I already have a make file with appropriate
  Martin> targets in it) However I am too lazy to do the M-x compile
  Martin> command - I don't want to have to type any commands.  I just
  Martin> want to configure the commands and then access them from a
  Martin> button or menu.

M-x compile and Tools->Compile are the same thing. 

If you want to specify different commands and put them into the menu
bar, yes you can do that, although its not necessarily straight
forward. easy-menu works quite well for this though. 

This is a menu definition that I used to use....


(defvar jde-more
   (list "JDE+"
 	["Set as main class"        phil-java-set-as-main-class t ]
 	["Toggle auto hide"         jfolding-toggle-autohide t ]
 	["Hide all "                jfolding-hide-all        t ]
	["Toggle +E option"         phil-java-toggle-e-option t ]
	["Toggle compiler"          phil-java-toggle-compiler t ]
         ))

(easy-menu-do-define 'jde-more jde-mode-map   "Additn Menu for JDE"
jde-more)

Phil

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-10 10:05 ` Martin
  2003-10-10 12:59   ` Phillip Lord
@ 2003-10-16 21:18   ` Kai Grossjohann
  2003-10-17 15:39     ` Bruce Ingalls
  1 sibling, 1 reply; 22+ messages in thread
From: Kai Grossjohann @ 2003-10-16 21:18 UTC (permalink / raw)


"Martin" <x@y.z> writes:

> To build the current project and current solution, I would use different
> make commands. (I already have a make file with appropriate targets in it)
> However I am too lazy to do the M-x compile command - I don't want to have
> to type any commands.  I just want to configure the commands and then access
> them from a button or menu.

Well, (global-set-key (kbd "<f9>") 'recompile) might do something
useful for you.  WDYT?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-16 21:18   ` Kai Grossjohann
@ 2003-10-17 15:39     ` Bruce Ingalls
  2003-10-17 21:38       ` LEE Sau Dan
  2003-10-17 21:43       ` Jason Rumney
  0 siblings, 2 replies; 22+ messages in thread
From: Bruce Ingalls @ 2003-10-17 15:39 UTC (permalink / raw)


Kai Grossjohann wrote:
> "Martin" <x@y.z> writes:
>>...I am too lazy to do the M-x compile command 
> 
> Well, (global-set-key (kbd "<f9>") 'recompile) might do something
> useful for you.  WDYT?

If you want to follow Microsoft 'standards', F5 is run, and F7 is build,
As I Recall. In other modes, F7 is spell check, although some Gnusers
spell check their code.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-17 15:39     ` Bruce Ingalls
@ 2003-10-17 21:38       ` LEE Sau Dan
  2003-10-17 21:43       ` Jason Rumney
  1 sibling, 0 replies; 22+ messages in thread
From: LEE Sau Dan @ 2003-10-17 21:38 UTC (permalink / raw)


>>>>> "Bruce" == Bruce Ingalls <bingalls@fit-zones.NO-SPAM.com> writes:

    Bruce> Kai Grossjohann wrote:
    >> "Martin" <x@y.z> writes:
    >>> ...I am too lazy to do the M-x compile command
    >> Well, (global-set-key (kbd "<f9>") 'recompile) might do
    >> something useful for you.  WDYT?

    Bruce> If you want to follow Microsoft 'standards', F5 is run, and
    Bruce> F7 is build, As I Recall. In other modes, F7 is spell
    Bruce> check, although some Gnusers spell check their code.

In Borland's text-based  IDE's, F9 is the standard  key for "compile",
F7/F8 for 'previous-error and 'next-error, ...  It's not a coincidence
that both Martin and I have  F9 bound to 'compile.  (Maybe, Martin has
also bound F8 to 'next-error?)

And guess which predates which: Borland's IDE or Microsoft's IDE?


-- 
Lee Sau Dan                     李守敦(Big5)                    ~{@nJX6X~}(HZ) 

E-mail: danlee@informatik.uni-freiburg.de
Home page: http://www.informatik.uni-freiburg.de/~danlee

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: emacs as an ide
  2003-10-17 15:39     ` Bruce Ingalls
  2003-10-17 21:38       ` LEE Sau Dan
@ 2003-10-17 21:43       ` Jason Rumney
  1 sibling, 0 replies; 22+ messages in thread
From: Jason Rumney @ 2003-10-17 21:43 UTC (permalink / raw)


Bruce Ingalls <bingalls@fit-zones.NO-SPAM.com> writes:

> If you want to follow Microsoft 'standards', F5 is run, and F7 is
> build,

Which Microsoft standards? The ones where F10 is "Step Over", or the
ones where F10 selects the menu bar, which is also a standard for
everyone else (including Emacs)?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Emacs as an IDE
@ 2007-10-14 19:01 polymedes
  2007-10-14 19:54 ` Thorsten Bonow
  0 siblings, 1 reply; 22+ messages in thread
From: polymedes @ 2007-10-14 19:01 UTC (permalink / raw)
  To: help-gnu-emacs

I would like to use emacs for software development and I currently am
learning it. I use the command "dabbrev-expand" (bound to M-/) to
expand (autocomplete) funtion and variable names. But how can I see
the function definition _while_ I'm typing ?

In all IDEs when you type the opening parenthesis a tooltip shows you
the arguments that you should pass to the function.

What do emacs developers usually do?

Furthermore, if the function is overloaded how can somebody know all
the definitions?

These questions apply to C++, Java, Python and C#

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2007-10-14 19:01 Emacs as an IDE polymedes
@ 2007-10-14 19:54 ` Thorsten Bonow
  2007-10-15 13:29   ` Richard G Riley
  0 siblings, 1 reply; 22+ messages in thread
From: Thorsten Bonow @ 2007-10-14 19:54 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> "polymedes" == polymedes  <polymedes@gmail.com> writes:

    polymedes> I would like to use emacs for software development and I
    polymedes> currently am learning it. I use the command "dabbrev-expand"
    polymedes> (bound to M-/) to expand (autocomplete) funtion and variable
    polymedes> names. But how can I see the function definition _while_ I'm
    polymedes> typing ?

    polymedes> In all IDEs when you type the opening parenthesis a tooltip shows
    polymedes> you the arguments that you should pass to the function.

In *all* IDE's? Hui!

    polymedes> What do emacs developers usually do?

They google for it :-) This is a FAQ. Look for cedet, ecb and intellisense:

     http://cedet.sourceforge.net/intellisense.shtml

    polymedes> Furthermore, if the function is overloaded how can somebody know
    polymedes> all the definitions?

    polymedes> These questions apply to C++, Java, Python and C#

cedet and ecb do work (at least) for C and C++, there is the Java Development Environment
for Emacs:

    http://jdee.sunsite.dk/

Since you don't like google:

The Emacs Lisp List is a good starting point for looking for lisp packages for Emacs:

    http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html

And last but not least there is the EmacsWiki:

    http://www.emacswiki.org/cgi-bin/wiki

Hope this helps...

Toto

-- 
Contact information and PGP key at
http://www-users.rwth-aachen.de/thorsten.bonow

You will pay for your sins. If you have already paid, please
disregard this message.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2007-10-14 19:54 ` Thorsten Bonow
@ 2007-10-15 13:29   ` Richard G Riley
  2007-10-15 20:33     ` Thorsten Bonow
  0 siblings, 1 reply; 22+ messages in thread
From: Richard G Riley @ 2007-10-15 13:29 UTC (permalink / raw)
  To: help-gnu-emacs

Thorsten Bonow <thorsten.bonow@post.rwth-aachen.de> writes:

>>>>>> "polymedes" == polymedes  <polymedes@gmail.com> writes:
>
>     polymedes> I would like to use emacs for software development and I
>     polymedes> currently am learning it. I use the command "dabbrev-expand"
>     polymedes> (bound to M-/) to expand (autocomplete) funtion and variable
>     polymedes> names. But how can I see the function definition _while_ I'm
>     polymedes> typing ?
>
>     polymedes> In all IDEs when you type the opening parenthesis a tooltip shows
>     polymedes> you the arguments that you should pass to the function.
>
> In *all* IDE's? Hui!
>
>     polymedes> What do emacs developers usually do?
>
> They google for it :-) This is a FAQ. Look for cedet, ecb and
> intellisense:

Do you have it working? I never got intellisense "like" features working
properly (or usefully).

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2007-10-15 13:29   ` Richard G Riley
@ 2007-10-15 20:33     ` Thorsten Bonow
  2007-10-15 21:58       ` Richard G Riley
  0 siblings, 1 reply; 22+ messages in thread
From: Thorsten Bonow @ 2007-10-15 20:33 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> "Richard" == Richard G Riley <Richard> writes:

    [...]

    >> They google for it :-) This is a FAQ. Look for cedet, ecb and
    >> intellisense:

    Richard> Do you have it working? I never got intellisense "like" features
    Richard> working properly (or usefully).

Hi,

yeah, took me some time and still isn't up to complex C++ projects, but my setup
for C source files displays the declarations of variables, functions etc. in the
minibuffer and I can do completion with `semantic-ia-complete-symbol'.

If you are interested, I can post my setup here, but be warned: there are a lot
of settings related to cedet and ecb, and I have no time to sort everything
superflous for your problem out.

Toto

-- 
Contact information and PGP key at
http://www-users.rwth-aachen.de/thorsten.bonow

I knew I wasn't as stupid as I looked. No one was.

Friedman, Kinky (1993), Greenwich Killing Time. New York (Wings
Books), 204

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2007-10-15 20:33     ` Thorsten Bonow
@ 2007-10-15 21:58       ` Richard G Riley
  2007-10-15 22:33         ` Thorsten Bonow
  0 siblings, 1 reply; 22+ messages in thread
From: Richard G Riley @ 2007-10-15 21:58 UTC (permalink / raw)
  To: help-gnu-emacs

Thorsten Bonow <thorsten.bonow@post.rwth-aachen.de> writes:

>>>>>> "Richard" == Richard G Riley <Richard> writes:
>
>     [...]
>
>     >> They google for it :-) This is a FAQ. Look for cedet, ecb and
>     >> intellisense:
>
>     Richard> Do you have it working? I never got intellisense "like" features
>     Richard> working properly (or usefully).
>
> Hi,
>
> yeah, took me some time and still isn't up to complex C++ projects, but my setup
> for C source files displays the declarations of variables, functions etc. in the
> minibuffer and I can do completion with `semantic-ia-complete-symbol'.
>
> If you are interested, I can post my setup here, but be warned: there are a lot
> of settings related to cedet and ecb, and I have no time to sort everything
> superflous for your problem out.
>
> Toto

Please do.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2007-10-15 21:58       ` Richard G Riley
@ 2007-10-15 22:33         ` Thorsten Bonow
  0 siblings, 0 replies; 22+ messages in thread
From: Thorsten Bonow @ 2007-10-15 22:33 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> "Richard" == Richard G Riley <Richard> writes:

    [...]

    >> If you are interested, I can post my setup here, but be warned: there are
    >> a lot of settings related to cedet and ecb, and I have no time to sort
    >> everything superflous for your problem out.
    >>
    >> Toto

    Richard> Please do.

Here it comes; you have been warned :-)

Feel free to ask questions... I hope I have more time in the next days...

Toto

;; ** cedet and ecb
(defvar my-cedet-directory
  (concat "~" init-file-user "/elisp/" "emacs/" "cedet-1.0pre3")
  "Directory where cedet is installed.")
(if (not (file-exists-p my-cedet-directory))
    (message "Not loading cedet...")
  (message "Loading cedet...")
  ;; Load CEDET
  ;; (setq semantic-load-turn-useful-things-on t)
  (load-file (concat my-cedet-directory "/common/" "cedet.elc"))
  ;; Enabling various SEMANTIC minor modes.  See semantic/INSTALL for more ideas.
  ;; Select one of the following
  (semantic-load-enable-code-helpers)
  ;; (semantic-load-enable-guady-code-helpers)
  ;; (semantic-load-enable-excessive-code-helpers)
  (if (file-exists-p "/var/tmp/semantic")
      (setq semanticdb-default-save-directory "/var/tmp/semantic")
    (message "/var/tmp/semantic directory does not exist!"))
  ;; ECB
  (defvar my-ecb-directory
    (concat "~" init-file-user "/elisp/" "emacs/" "ecb-2.32")
    "Directory where cedet is installed.")
  (if (not (file-exists-p my-ecb-directory))
      (message "Not loading ECB...")
    (message "Loading ECB...")
    (add-to-list 'load-path my-ecb-directory)
    (require 'ecb)
    (setq ecb-tip-of-the-day nil)
    (set-face-background 'ecb-tag-header-face "brown")
    (set-face-background 'ecb-default-highlight-face "maroon")
    ;; *** my-ecb-goto-other-edit-window
    ;; bound to viper macro "ESC ee"
    (defun my-ecb-goto-other-edit-window ()
      "Call ecb-goto-window-edit2, if that returns nil,
call ecb-goto-window-edit1."
      (interactive)
      (if (ecb-goto-window-edit2)
	  ()
	(ecb-goto-window-edit1)))
    ;; *** solve incompatibilities of ecb with other packages
    ;; **** ecb and partial windows
  (setq truncate-partial-width-windows nil)
  ;; **** ecb and calendar
  (add-hook 'initial-calendar-window-hook
	    (function (lambda ()
			(or (one-window-p t)
			    (/= (frame-width) (window-width))
			    (and ecb-minor-mode (ecb-point-in-edit-window)))
			(shrink-window (- (window-height) 9)))))
  ;; **** ecb and calculator (not calc)
  (setq calculator-electric-mode t)
  ;; **** ecb and calc
  (defvar my-ecb-windows-hidden-for-calc nil
    "Indicate if ECB windows were visible before `calc' was called.")
  (defun my-ecb-calc-adapt ()
    "This defun hides ECB windows if ECB is active and
ECB windows are not hidden. Only to be called by advice to `calc' function."
    (if (equal ecb-minor-mode nil)
	(setq my-ecb-windows-hidden-for-calc nil)
      (ecb-deactivate)
      (setq my-ecb-windows-hidden-for-calc t)))
  (defun my-ecb-calc-quit-adapt ()
    "This defun unhides ECB windows if ECB is active and
ECB windows are hidden and my-ecb-windows-hidden-for-calc is t.
Only to be called by advice to `calc-quit'."
    (if (equal my-ecb-windows-hidden-for-calc t)
	(ecb-activate)))
  (defadvice calc (before my-ecb-calc-advise)
    "Delete other windows and hide ECB windows before running `calc'."
    (delete-other-windows)
    (my-ecb-calc-adapt))
  (defadvice calc-quit (after my-ecb-calc-quit-advise)
    "Restore ECB windows when quitting `calc' if necessary."
    (my-ecb-calc-quit-adapt))
  (ad-activate 'calc)
  (ad-activate 'calc-quit)
  ;; **** ecb and mew
  (defvar my-ecb-windows-hidden-for-mew nil
    "Indicate if ECB windows were visible before `mew' was called.")
  (defun my-ecb-mew-adapt ()
    "This defun hides ECB windows if ECB is active and
ECB windows are not hidden. Only to be called by advice to `mew' function."
    (if (equal ecb-minor-mode t)
	(if (equal ecb-frame (selected-frame))
	    (if (equal ecb-windows-hidden t)
		(setq my-ecb-windows-hidden-for-mew nil)
	      (ecb-toggle-ecb-windows)
	      (setq my-ecb-windows-hidden-for-mew t)))))
  (defun my-ecb-mew-summary-suspend-or-quit-adapt ()
    "This defun unhides ECB windows if ECB is active and
ECB windows are hidden and my-ecb-windows-hidden-for-mew is t.
Only to be called by advice to `mew-summary-suspend' or `mew-summary-quit'."
    (if (equal ecb-minor-mode t)
	(if (equal ecb-frame (selected-frame))
	    (if (equal ecb-windows-hidden t)
		(if (equal my-ecb-windows-hidden-for-mew t)
		    (ecb-toggle-ecb-windows)))))
    (setq my-ecb-windows-hidden-for-mew nil))
  (defadvice mew (before my-ecb-mew-advise)
    "Delete other windows and hide ECB windows before running `mew'."
    (delete-other-windows)
    (my-ecb-mew-adapt))
  (defadvice mew-summary-suspend (after my-ecb-mew-summary-suspend-advise)
    "Restore ECB windows when suspending `mew-summary' if necessary."
    (my-ecb-mew-summary-suspend-or-quit-adapt))
  (defadvice mew-summary-quit (after my-ecb-mew-summary-quit-advice)
    "Restore ECB windows when quitting `mew-summary' if necessary."
    (my-ecb-mew-summary-suspend-or-quit-adapt))
  (ad-activate 'mew)
  (ad-activate 'mew-summary-suspend)
  (ad-activate 'mew-summary-quit)
  ;; *** ecb customization
  (setq ecb-process-non-semantic-files t)
  (setq ecb-fix-window-size 'auto)
  (setq ecb-layout-name "left3")
  (setq ecb-toggle-layout-sequence '("leftright1" "left3"))
  (cond ((string-match "herrrossi" (system-name))
	 (setq ecb-windows-width 0.20)
	 )
	((string-match "gastone" (system-name))
	 (setq ecb-windows-width 0.31)
	 ))
  (add-hook 'ecb-activate-hook
	    (lambda ()
	      'vc-delete-logbuf-window nil))
  (add-hook 'ecb-deactivate-hook
	    (lambda ()
	      'vc-delete-logbuf-window t))
  (defun my-ecb-toggle-ecb-windows()
    "Call `ecb-toggle-ecb-windows' or `ecb-activate' if ECB has not been
  activated before."
    (interactive)
    (if (equal ecb-minor-mode t)
	(ecb-toggle-ecb-windows)
      (ecb-activate)))
  (global-set-key [f3] 'my-ecb-toggle-ecb-windows)
  (global-set-key [S-f3] 'ecb-toggle-layout)
  ))


-- 
Contact information and PGP key at
http://www-users.rwth-aachen.de/thorsten.bonow

It was Christmas Eve and all the salamis in the window of the
Carnegie Deli had been hung with care. It was two o'clock in the
morning and I was drifting by the window like a secular ghost in
the rain when suddenly, between two salamis, I saw something that
made me stop on a dime and pick it up.

Kinky Friedman: Musical Chairs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-04  8:42   ` Krishnakant
@ 2017-03-05 14:47     ` Francis Belliveau
  2017-03-05 15:41       ` tomas
  2017-03-05 16:45       ` Anast Gramm
  0 siblings, 2 replies; 22+ messages in thread
From: Francis Belliveau @ 2017-03-05 14:47 UTC (permalink / raw)
  To: help-gnu-emacs

I admit that the original question was a bit open.  It assumed that some of us readers knew how a specific pair of IDE's work.
A poor assumption since emacs wizards are more likely to use emacs as their IDE with things customized as they desire.

So it seems that the answer to the basic question is: Yes, emacs can be configured to be used in manner similar to an IDE.

I am not such a user, but would like to know how to configure such a thing.  I do have some specific questions below.

As I understand it emacs triggers such things via "mode" that is normally tied to file extension, so as long as all of your source files have a properly uniques extension that identifies language, you get the correct mode automatically.  For instance, I expect that you have already discovered that your .java files come up in Java-Mode with a default set of coding-style rules.

The next problems are:
  How do I customize the coding style to my match desires?
and
  How do I get "code-finding" and "code-completion" to work?

I have been coding in C++ for a long time and am reasonably happy with how those modes work, but I do not know the answer to my second question.  I also use Java and could use help with the first question in that regard.
Again, I admit that the first question is way too general for a specific answer, but a pointer regarding how to find where to start reading in the documentation would be helpful.  Navigating the documentation requires one to be able to follow the mind-set of the writer, and I just cannot seem to find my way to what I need very easily.

Although a documentation pointer would also be a useful answer to the second question, I expect that it would also be possible to provide an outline of the basic steps so that I could better search the documentation for "how to" information.  Clearly emacs would need some sort of symbol-table to tell it which file a particular object/method exists in so that it can find its way to said method and/or auto-complete a partial entry.

Some help with where to start would be useful.

Thanks,
Fran


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-05 14:47     ` Emacs as an IDE Francis Belliveau
@ 2017-03-05 15:41       ` tomas
  2017-03-08  1:12         ` Francis Belliveau
  2017-03-05 16:45       ` Anast Gramm
  1 sibling, 1 reply; 22+ messages in thread
From: tomas @ 2017-03-05 15:41 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, Mar 05, 2017 at 09:47:35AM -0500, Francis Belliveau wrote:
> I admit that the original question was a bit open.  It assumed that some of us readers knew how a specific pair of IDE's work.
> A poor assumption since emacs wizards are more likely to use emacs as their IDE with things customized as they desire.

This is one point; another is that all those IDEs are huge and have
all their own philosophies: each user tends to use different subsets
of them. Asking "like X" blurs this subsetting and will forcefully
ignore the one *you* care about. Moreover, "doing all as X does it"
is probably unachievable -- unless you use "X", that is :-)

> So it seems that the answer to the basic question is: Yes, emacs can be configured to be used in manner similar to an IDE.
> 
> I am not such a user, but would like to know how to configure such a thing.  I do have some specific questions below.

That's right: there are pretty extensive packages (like EDE [1]) which
cover IDE functionality (e.g. indexing "interesting" syntactic
objects in a whole project and similar things). That said, I'm not
the "IDE type" myself -- what I used so far is the compile-from-
editor and jump-me-to-next-error, usually provided by the mode
(but this extensively).

Then there are the modes:

> As I understand it emacs triggers such things via "mode" that is normally tied to file extension, so as long as all of your source files have a properly uniques extension that identifies language, you get the correct mode automatically.  For instance, I expect that you have already discovered that your .java files come up in Java-Mode with a default set of coding-style rules.

It's not only the extension: a mode can be set according to the file's
content (a typical example would be the shebang line in an interpreter
file, but you can also insert a specifically formatted comment at a
strategic place in a file). See "23.3 Choosing File Modes" in the
fine manual, online here [2]

Modes are highly customizable wrt coding style. If you are at an
Emacs, just type in M-x customize <RET> and browse through the
options tree to get a first impression.

> 
> The next problems are:
>   How do I customize the coding style to my match desires?

See above.

> and
>   How do I get "code-finding" and "code-completion" to work?

I think EDE covers that. But I'll hope more knowledgeable folks chime in.
Depending on your target language there are other kinds of development
environments, which, for example can run the target's language interpreter
or a debugger like gdb and thus stay current about the target program's
status.

> I have been coding in C++ for a long time and am reasonably happy with how those modes work, but I do not know the answer to my second question.  I also use Java and could use help with the first question in that regard.
> Again, I admit that the first question is way too general for a specific answer, but a pointer regarding how to find where to start reading in the documentation would be helpful.  Navigating the documentation requires one to be able to follow the mind-set of the writer, and I just cannot seem to find my way to what I need very easily.
> 
> Although a documentation pointer would also be a useful answer to the second question, I expect that it would also be possible to provide an outline of the basic steps so that I could better search the documentation for "how to" information.  Clearly emacs would need some sort of symbol-table to tell it which file a particular object/method exists in so that it can find its way to said method and/or auto-complete a partial entry.
> 
> Some help with where to start would be useful.

Yes, discovering this world can be daunting at times. But it's
worth it :-)

[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/EDE.html
[2] https://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html

regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAli8MZEACgkQBcgs9XrR2kbcnACbBgES1Bu/ZdZX8j7LUSIajcBX
wnUAnRExysRVnmbsuSyqu9alHvt6Lawj
=yKmi
-----END PGP SIGNATURE-----



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-05 14:47     ` Emacs as an IDE Francis Belliveau
  2017-03-05 15:41       ` tomas
@ 2017-03-05 16:45       ` Anast Gramm
  2017-03-06  7:59         ` Krishnakant
  1 sibling, 1 reply; 22+ messages in thread
From: Anast Gramm @ 2017-03-05 16:45 UTC (permalink / raw)
  To: Francis Belliveau; +Cc: help-gnu-emacs

Hello,

What I've done 3 months ago when I was on your position was the following:

I read this http://tuhdo.github.io/ dudes manuals. They are amazing at explaining
how stuff works and how to set up a basic customization.

Especially this one http://tuhdo.github.io/c-ide.html that also answers a lot of
your questions.

From there on I just browse M-x package-list-packages and see stuff that I like and try
to implement them in my workflow. 6 months ago I had a .emacs with ~20 lines of lisp,
now I have an .org file with my configuration and it's about ~1500 lines. So this
thing escalates really quick. Beware not to get lost.

Now for the sad part:

Java is a high level language and there are awesome IDEs out there for it.
My favorite is IntelliJ. Those beasts are simply too much work for an emacs
user to replace. As I see it, you're better off using IntelliJ or Eclipse
for java development.

I think someone should build a complete IDE experience for java development
but until then proprietary software is gonna have the lead.

P.S. I avoid java just for this reason (I also like C/C++ more)



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-05 16:45       ` Anast Gramm
@ 2017-03-06  7:59         ` Krishnakant
  0 siblings, 0 replies; 22+ messages in thread
From: Krishnakant @ 2017-03-06  7:59 UTC (permalink / raw)
  To: Anast Gramm, Francis Belliveau; +Cc: help-gnu-emacs


Hi,


On Sunday 05 March 2017 10:15 PM, Anast Gramm wrote:
> Hello,
>
> What I've done 3 months ago when I was on your position was the following:
>
> I read this http://tuhdo.github.io/ dudes manuals. They are amazing at explaining
> how stuff works and how to set up a basic customization.
>
> Especially this one http://tuhdo.github.io/c-ide.html that also answers a lot of
> your questions.
Wow I found this to be really valuable.
Thanks a lot from myself and on behalf of those who have just recently 
got started.
>  From there on I just browse M-x package-list-packages and see stuff that I like and try
> to implement them in my workflow. 6 months ago I had a .emacs with ~20 lines of lisp,
> now I have an .org file with my configuration and it's about ~1500 lines. So this
> thing escalates really quick. Beware not to get lost.
>
> Now for the sad part:
>
> Java is a high level language and there are awesome IDEs out there for it.
> My favorite is IntelliJ. Those beasts are simply too much work for an emacs
> user to replace. As I see it, you're better off using IntelliJ or Eclipse
> for java development.
>
> I think someone should build a complete IDE experience for java development
> but until then proprietary software is gonna have the lead.
I totally agree here.
I have done java programming in Eclipse and there is nothing apart from 
inteliJ which is as good enough.
> P.S. I avoid java just for this reason (I also like C/C++ more)
I have also quit Java for a long time.
I use Python for all my programming and Emacs just rocks for that with 
Python-mode (major ) and Elpy, company-jedi and electric-pair (minor 
modes ).
Happy hacking.
Krishnakant.




^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-05 15:41       ` tomas
@ 2017-03-08  1:12         ` Francis Belliveau
  2017-03-08  7:13           ` Krishnakant
  0 siblings, 1 reply; 22+ messages in thread
From: Francis Belliveau @ 2017-03-08  1:12 UTC (permalink / raw)
  To: tomas; +Cc: help-gnu-emacs

Thanks to all who helped me with this subject.

Fran



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: Emacs as an IDE
  2017-03-08  1:12         ` Francis Belliveau
@ 2017-03-08  7:13           ` Krishnakant
  0 siblings, 0 replies; 22+ messages in thread
From: Krishnakant @ 2017-03-08  7:13 UTC (permalink / raw)
  To: Francis Belliveau, tomas; +Cc: help-gnu-emacs


Hmm, and me too.

although I have got fair bit of proficiency with Python-mode, I had 
issues with web development.

Slowly they are getting solved.

Happy hacking.

Krishnakant.


On Wednesday 08 March 2017 06:42 AM, Francis Belliveau wrote:
> Thanks to all who helped me with this subject.
>
> Fran
>




^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-03-08  7:13 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-09  8:11 emacs as an ide Martin
2003-10-09 13:06 ` Phillip Lord
2003-10-09 17:56 ` Pascal Bourguignon
2003-10-09 18:52 ` kgold
2003-10-10 10:05 ` Martin
2003-10-10 12:59   ` Phillip Lord
2003-10-16 21:18   ` Kai Grossjohann
2003-10-17 15:39     ` Bruce Ingalls
2003-10-17 21:38       ` LEE Sau Dan
2003-10-17 21:43       ` Jason Rumney
  -- strict thread matches above, loose matches on Subject: below --
2007-10-14 19:01 Emacs as an IDE polymedes
2007-10-14 19:54 ` Thorsten Bonow
2007-10-15 13:29   ` Richard G Riley
2007-10-15 20:33     ` Thorsten Bonow
2007-10-15 21:58       ` Richard G Riley
2007-10-15 22:33         ` Thorsten Bonow
2017-03-04  1:06 Emacs IDE Ahmed Sorour
2017-03-04  8:34 ` tomas
2017-03-04  8:42   ` Krishnakant
2017-03-05 14:47     ` Emacs as an IDE Francis Belliveau
2017-03-05 15:41       ` tomas
2017-03-08  1:12         ` Francis Belliveau
2017-03-08  7:13           ` Krishnakant
2017-03-05 16:45       ` Anast Gramm
2017-03-06  7:59         ` Krishnakant

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.