[Toulibre] IDE C++

Marc Souviron Marc.Souviron at vous-et-nous.com
Ven 12 Jan 09:08:53 CET 2007


Le pilier fédérateur d'emacs est la complétion à tous les nivaux car si un 
développeur aime le clavier il aime également frapper un minimum.
Une solution est celle de la complétion, on tape le début du texte et par une 
combinaison de touches l'outil propose une suite.
Ceci fonctionne à tous les niveaux:
-->Dans le code: Inutile par ce principe de se limiter à des noms de variables 
courts
-->Sur les noms de fichiers à la mode bash
-->Sur les commandes possibles: pour illustrer cela faire M-x (pression 
simultanée de la touche META (ALT sur un PC) et de la lettre x, dès lors le 
curseur passe dans la zone inférieure de la fenêtre d'édition, ensuite 
commencer par entrer un nom de commande qui passe par la tête, par 
exemple "hel" suivi de la touche TAB (2 pressions sur sont nécessaires pour 
voir l'ensemble des choix). Les choix proposés seront du genre:
help	help				   help-follow
help-follow-mouse		   help-for-help
help-go-back			   help-make-xrefs
help-mode			   help-next-ref
help-previous-ref		   help-quit
help-with-tutorial
Si tout est bien configuré, pour commencer la prise en main 
choisir "help-with-tutorial" soit à la souris soit en rajoutant "-w" suivi de 
TAB et de RETURN, à partir de là il suffit de suivre les indications, mais 
c'est en anglais ce qui peut poser problème pour certains.
Pour la customisation c'est dans le fichier $HOME/.emacs que ça se passe. 
C'est du lisp ce qui est un peu abrupt mais très puissant. j'ai joint le mien 
à ce document, il permet notamment d'avoir la molette de la souris 
opérationnelle.

Une présentation EMACS serait peut être un sujet intéressant pour ceux qui 
n'ont pas encore vu la lumière ?

> merci de vos réponses.
>
> En ce qui concerne eclipse, c'est vraiment trop lourd à mon goût, et le peu
> que j'ai testé a été un plantage en série... C'est joli sur le papier mais
> ça reste encore utopique comme IDE je trouve (ça n'engage que moi...).
> Enfin bref, mon but est pas de lancer un troll, juste de dire que eclipse
> il est venu, il a vu et il a vaincu ma patience, donc je laisse tomber avec
> lui.
>
> Pour KDevelop, il a l'air pas mal, mais j'ai du mal à comprendre comment ça
> marche... Je suppose que ça vient du fait que je ne sais pas utiliser tout
> les outils... Si j'apprend à me servir de make & ses amis est-ce que je me
> mettrai subitement à savoir utiliser KDevelop intuitivement ?
>
> Visiblement il y a pas mal de fans de emacs... J'ai essayé de l'installer,
> tout ce que j'ai vu c'est un programme avec une police énorme et pas
> lissée, une interface austère et tellement de racourcis claviers qu'on sait
> pas par où commencer... Par contre si quelqu'un a une piste pour apprendre
> comme il faut à se servir d'emacs pourquoi pas...
>
> Après y'a effectivement les éditeurs de texte, mais bon je suis pas fan des
> trucs sans gestion de projet etc...
>
> Mais disons que ce que je recherche c'est plus quelquechose du genre de ZDE
> ou VisualStudio, avec les listes qui proposent les noms de
> variable/fonctions etc au fur et à mesure qu'on tape... Ouais ça fait
> neuneu comme ça mais n'empêche que c'est fachement pratique....
>
>
> Rémy

-- 
----------------------------------------------------------
Marc Souviron, 33 rue des Couteliers 31000 Toulouse France
tel: (33) 6-72-93-67-88
E-mail: Marc.Souviron at vous-et-nous.com
WEB: http://marc.souviron.vous-et-nous.com
----------------------------------------------------------
-------------- section suivante --------------
;; Ajouter le répertoire spécial Gnus dans les chemins de recherches de fichiers executables.
(setq load-path (cons "~/emacs/lisp/" load-path))
;;(require 'iso-sgml)
(eval-after-load 'ispell 
  '(setq ispell-extra-args 
	 (append ispell-extra-args '("--encoding" "none")))) 

(autoload 'ispell-word "ispell" "Check the spelling of word in buffer." t)
(global-set-key "\e$" 'ispell-word)
(autoload 'ispell-region "ispell" "Check the spelling of region." t)
(autoload 'ispell-buffer "ispell" "Check the spelling of buffer." t)
(autoload 'ispell-complete-word "ispell" "Look up current word in dictionary and try to complete it." t)
(autoload 'ispell-change-dictionary "ispell" "Change ispell dictionary." t)
(autoload 'ispell-message "ispell" "Check spelling of mail message or news post.")
(autoload 'ispell-minor-mode "ispell" "Toggle mode to automatically spell check words as they are typed in.")
;;(require 'php-mode)

;;(standard-display-european 1)           ;;pour avoir les accents affichables par emacs
(column-number-mode 1)                  ;;pour afficher le numero de la colonne pointée
(line-number-mode 1)                    ;;pour afficher le numero de la ligne pointée
(delete-selection-mode t)               ;;pour detruire la zone selectioné dés insertion d'un nouvea caractére

;;SGML mode
(setq sgml-mode-hook
      '(lambda () "Défauts pour le mode SGML."
	 (setq ispell-personal-dictionary "~/.ispell-dico-perso")
	 (ispell-change-dictionary "francais"))
      )

;;; Mouse wheel
(defun up-slightly () (interactive) (scroll-up 5))
(defun down-slightly () (interactive) (scroll-down 5))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)

(defun up-one () (interactive) (scroll-up 1))
(defun down-one () (interactive) (scroll-down 1))
(global-set-key [S-mouse-4] 'down-one)
(global-set-key [S-mouse-5] 'up-one)

(defun up-a-lot () (interactive) (scroll-up))
(defun down-a-lot () (interactive) (scroll-down))
(global-set-key [C-mouse-4] 'down-a-lot)
(global-set-key [C-mouse-5] 'up-a-lot)

(global-set-key [delete] 'delete-char)
(global-set-key [kp-delete] 'delete-char)

(global-set-key [home] 'beginning-of-buffer)
(global-set-key [end]  'end-of-buffer)

;; Stop at the end of the file, not just add lines
(setq next-line-add-newlines nil)

(global-set-key "\C-cv" 'compile)
(global-set-key "\M-q" 'query-replace-regexp)

;;##########################################################
;; Section Modes 
;;

;;mode par default pour certains fichiers
(setq auto-mode-alist       
      (cons '("\\profile\\'" . sh-mode) auto-mode-alist))

;;Mode HTML
(add-hook 'html-mode-hook '(lambda () (format-decode-buffer '(html))))

;;PHP mode
(setq auto-mode-alist
  (append '(
	   (  "\\.php$" . php-mode)
	   (  "\\.js$" . c-mode)
	   )
           auto-mode-alist)
)


;;Utilitaires
(defun dos2unix ()
  (interactive)
  (goto-char (point-min))
  (while (search-forward "\r" nil t)
    (replace-match "")
  )
)


Plus d'informations sur la liste de diffusion Toulouse-ll