Unternehmensmodus beschleunigen?

10

Ich habe vor einiger Zeit von erhabenem Text zu Emacs gewechselt, und obwohl ich der Meinung bin, dass Emacs viel schöner ist, mangelt es der automatischen Vervollständigung wirklich an Reaktionsfähigkeit. Ich habe die Firma so angepasst, dass sie nach der Eingabe von zwei Zeichen zu vervollständigen versucht. Die Verzögerung betrug also nur 0,1 Sekunden, aber sie wird nicht zur Hälfte angezeigt, und wenn dies der Fall ist, ist sie wirklich nicht nützlich. Hat es jemand anderem gelungen, das Unternehmen so reaktionsschnell wie erhabenes / visuelles Studio / Sonnenfinsternis zu machen? Jede andere IDE wirklich.

m0meni
quelle
2
Mit welcher Sprache arbeiten Sie?
Abo-Abo
Haben Sie versucht, automatisch zu vervollständigen ? Ich passe es ohne Probleme an, das Benutzerhandbuch ist wirklich umfassend.
Carlo Rodríguez
1
Ich schlage vor, Sie machen eine tatsächliche M-x report-emacs-bugmit reproduzierbaren Rezepten.
Stefan

Antworten:

13

Ich hatte am Anfang auch schlechte Erfahrungen mit der Firma, aber in meinem Setup habe ich nur diese Zeilen eingefügt.

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

Die erste Variable wird verwendet, um den Fall zu überspringen, den das Unternehmen mit den Variablen macht, die ich automatisch vervollständige, die zweite, von der ich glaube, dass Sie sie bereits haben.

(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)

Diese Zeilen sind auch nützlich, um den Abschluss durch Drücken der gewünschten Taste auszulösen.

Sebas
quelle
Schätzen Sie es, aber ich habe jetzt Emacs ausgeschaltet: p. Ich benutze immer noch die Tastenkombinationen.
m0meni
4
"(setq company-idle-delay 0)" Tun Sie das nicht, Sie verschwenden auf diese Weise eine Menge CPU-Takte.
Dmitry
Bei Verwendung Ihrer tab-indent-or-completeFunktion wird "Der Wert des Symbols als Variable ist ungültig: do-yas-expand" angezeigt .
SergiyKolesnikov