Jakie są różnice między autouzupełnianiem a trybem firmowym?

52

Wydaje się, że istnieją dwa główne rozszerzenia autouzupełniania dla emacsa: autouzupełnianie i tryb firmowy. Jakie są praktyczne różnice między nimi i kiedy chciałbym używać jednego nad drugim? Ponadto, czy są ze sobą kompatybilne?

Connor
źródło
1
Co rozumiesz przez „Czy są one ze sobą kompatybilne?” ? Czy pytasz, czy można ich używać jednocześnie? A jeśli źródła jednego mogą być wykorzystane przez drugie?
Malabarba
Jeśli mogą korzystać z tych samych źródeł
Connor,
3
github.com/company-mode/company-mode/issues/68 (niewiele więcej do dodania).
shosti

Odpowiedzi:

34

Od kilku lat korzystam z trybu autouzupełniania i kilka miesięcy temu przełączyłem się na tryb firmowy.

W podstawowym użyciu nie ma dużej różnicy. Jak ktoś inny opublikował ten link ma dobre podsumowanie różnic.

Odkryłem, że tryb firmowy jest łatwiejszy do skonfigurowania i pozwala mu robić to, co chcę. W trybie autouzupełniania od czasu do czasu miałem problemy z czymś, co nie działa tak, jak chciałem, a potem coś innego przewraca się podczas poprawiania. Podczas używania rzadko kiedy czuję, że tryb firmowy przeszkadza w korzystaniu z Emacsa, podczas gdy tryb autouzupełniania przeszkadzał od czasu do czasu.

Ponadto dla programistów łatwo jest dodać obsługę ich pakietów do trybu firmowego, patrz: EmacsWiki: CompanyMode: Backends .

Nie są ze sobą kompatybilne. Na razie jest więcej pakietów obsługujących tryb autouzupełniania, ale szybko się zmienia.

tl; dr. Prawie robią to samo. Zacznij od trybu firmowego i wypróbuj tryb autouzupełniania, jeśli coś Ci brakuje w poprzednim.

aerique
źródło
39

Są prawie równoważne, ale company-modemają lepiej przemyślany interfejs API dla programistów wtyczek. Jest również znacznie aktywniej utrzymywany. Istnieją jednak dwie kluczowe różnice, które mogą mieć znaczenie dla Ciebie:

Po pierwsze, company-modeteraz celuje w Emacsa 24, więc jeśli utkniesz z Emacsem 23, to nie masz szczęścia. auto-completenadal działa z Emacsem 23.

Po drugie, auto-completema mechanizm „wyskakujących dokumentów”, który wyświetla żółtą nakładkę przypominającą podpowiedzi w bieżącym buforze, pokazując informacje o symbolu w punkcie. IIRC company-modemoże pobrać te same informacje, ale robi to teraz w osobnym oknie.

Jest to problem złożony za to, i wydaje się, że company-modezyska poparcie popup doc, być może poprzez dodatek na opakowaniu. Historycznie takie okna wyskakujące były nieco wadliwe, więc warto przyzwyczaić się do companyosobnego okna.

Jeśli zaczynasz od nowa i masz Emacsa 24, company-modeto jest droga.

sanityinc
źródło
11
Nawiasem mówiąc, myślę, że nazwa jest niefortunna. Zakładałem, że tryb firmowy ma coś wspólnego z zarządzaniem projektami dla wielu użytkowników (jak w projekcie prowadzonym przez firmę). Znalazłbym go wcześniej, gdyby miał oczywistą nazwę, podobnie jak autouzupełnianie!
Tyler,
12
Tak, comp-anybyłoby jaśniej niż company.
sanityinc