Accelerare la modalità azienda?


11

Sono passato da un testo sublime ad emacs qualche tempo fa, e mentre sento che emacs è molto più bello, il suo completamento automatico è davvero carente in reattività. Sono andato e ho personalizzato la compagnia in modo che avrebbe provato a completare dopo che erano stati digitati due caratteri e quindi il ritardo era solo di 0,1 secondi, ma non si presenta per metà del tempo e quando lo fa, non è davvero utile. Qualcun altro ha avuto successo nel far sì che la compagnia fosse reattiva come quella di sublime / visual studio / eclipse? Qualsiasi altro IDE davvero.


2
Con quale lingua stai lavorando?
abo-ABO

Hai provato il completamento automatico ? Lo personalizzo senza problemi, il manuale utente è davvero completo.
Carlo Rodríguez,

1
Ti suggerisco di realizzare qualcosa M-x report-emacs-bugcon ricette riproducibili.
Stefan,

Risposte:


13

Ho avuto anche una brutta esperienza con la compagnia all'inizio, ma nella mia configurazione ho appena messo queste linee.

(setq company-dabbrev-downcase 0)
(setq company-idle-delay 0)

La prima variabile viene utilizzata per saltare il downcase che l'azienda fa alle variabili che compio automaticamente, la seconda penso che tu abbia già.

(defun tab-indent-or-complete ()
  (interactive)
  (if (minibufferp)
      (minibuffer-complete)
    (if (or (not yas-minor-mode)
            (null (do-yas-expand)))
        (if (check-expansion)
            (company-complete-common)
          (indent-for-tab-command)))))

(global-set-key [backtab] 'tab-indent-or-complete)

Anche queste righe sono utili per attivare il completamento premendo il tasto desiderato.


Lo apprezzo, ma ora ho disattivato emacs: p. Uso comunque le combinazioni di tasti.
m0meni,

4
"(setq company-idle-delay 0)" Non farlo, stai sprecando molti clock della CPU in questo modo.
Dmitry,

Ottengo "Il valore del simbolo come variabile è nulla: do-yas-expand" quando usi la tua tab-indent-or-completefunzione.
SergiyKolesnikov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.