タグ付けされた質問 「company-mode」

Company-modeは、Emacsのテキスト補完フレームワークです。名前は「完全なもの」を意味します。プラグイン可能なバックエンドとフロントエンドを使用して、完了候補を取得して表示します。


1
プレーンテキストで企業モードで大文字と小文字を区別する方法
デフォルトでは、会社モードはすべての予測を小文字に変換するようです。 例えば: HelloWorldOfGoo HelloWorldOfEmacs -> Hell [Helloworldofgoo] //Company prediction [Helloworldofemacs] これは、特別なバックエンドのない大文字と小文字を区別するプログラミング言語にはあまり実用的ではありません。会社モードの大文字と小文字を区別するにはどうすればよいですか?

5
ファジーコード補完を取得する方法
Visual StudioでReSharperを使用する場合、プレフィックスマッチングの代わりにファジーマッチングを使用してシンボルを自動補完できます。私は名前の関数を探している場合たとえばDoSomethingAmazing、私は書くことができDoSoAm、それが含む全てのシンボルと一致するように私のクエリを拡大しようとDo、SoそしてAm自分の名前でどこかを。 別の例は、以下のgifにあります。非プレフィックス文字列が正しいシンボルに展開されるいくつかの展開を見ることができます。(この質問のように、ファジーマッチングのみに関心があるため、スニペットの展開は無視してください)。 別の例は、VimのYouCompleteMeプラグインで見ることができます。 オートコンプリートと会社モードの両方にプレフィックス一致があるようですが、あいまい一致を有効にする方法が見つかりません。 理想的には、ソリューションは言語に依存せず、使用しているシンボル補完パッケージに適用されますが、言語固有のソリューションにも興味があります。私はHelmを見ましたが、それをコード補完に適用する方法を見つけていません。 Helmバッファーを使用してシンボル補完をアクティブにするキーバインドを使用するなどの代替手段を検討しましたが、ポップアップスタイルの補完を使用してこれを行う方法があることを望んでいます。 言語によってはシンボルをダッシュ​​で区切る言語もあれば、アンダースコアまたはダッシュを使用する言語があるため、言語ごとに手動設定を行うこともできます。

2
yasnippetと会社をより良くする方法は?
私のemacsでは"elisp"、orgモードでlispブロックを拡張するためにyasnippet を使用するとしましょう。しかし、拡張する前に、会社が最初にトリガーされ"1. elisp1, 2. elisp2"、オプションなしのようなメニューが表示されます"elisp"。tabyasnippetを拡張するために使用する場合、"elisp1"常に最初に画面に表示されるのは常に迷惑です。だから私は"1"最初に削除する必要があり、yasnippetスニペットの拡張を行います。 したがって、解決策として、私は常に左矢印キーを使用して最初に会社の完了メニューをオフにしますが、カーソルはに移動する"elis|p"ので、再び右矢印キーを使用してカーソルをの終わりに移動し"elisp|"、スニペットを拡張します。 ここで私の質問があります:どうすればtabキーをバインドしてyasnippetをトリガーできますか?

3
会社の完成に使用されるバックエンドを見つける
カスタムcompanyバックエンドを使用する場合company-complete、誤った動作をするバックエンドが原因で完了を返さないことになります。このような場合、完了リストを生成するためにどの会社のバックエンドが使用されたかを知ることは役立ちます。company-complete呼び出し後にこの情報を取得するにはどうすればよいですか?


1
会社にヤスニペット名の候補を表示する
パッケージの会社モードとYasnippetを使用します。バッファーに入力しているときに、Companyからオートコンプリートの提案を受け取ります。 Yasnippetには、スニペットを含むディレクトリがあります。そのディレクトリには、たとえばファイルがありますfoo.yasnippet。 fooバッファーに入力してを押すとTab、ヤスニペットのポップアップメニューが表示され、挿入するスニペット(fooまたはfoo-bar)を選択できます。foo会社の完成にyasnippetを統合したいと思います。を入力するとfoo、Company completionポップアップにスニペットが表示されます。 これは可能ですか?もしそうなら、どうすればこれを達成できますか?Vimでは、NeocompleteとVimSnippetsでそれを実現しています。グーグルで検索したところ、Elispとのこのリンクを見つけましたが、それを適用する方法に頭を悩ますことができませんでした。 助言がありますか?


1
Company-dabbrevをCompany completionポップアップに追加するにはどうすればよいですか?
セットアップ: KAELの2015-07-25のGUIバージョンGNU Emacs 25.0.50.1(x86_64-w64-mingw32) EmacsW64からコンパイル。 、MELPAの最新バージョンを使用 Windows 7 x64ビット。 状況: たとえば、バッファfoobarsentenceに入力しています。 そして、その下に新しい行を開始し、「fooba」と入力すると、foobarsentence会社のポップアップ完了ウィンドウから候補が表示されると期待していました。しかし、ありませんfoobarsentence。 別の回答から、そのためにcompany-dabbrevを使用できることがわかりましたM-/。しかし、どのようにして提案をcompany-dabbrevポップアップウィンドウに「フィード」できるのかわかりませんでした。質問を明確にするために、スクリーンキャストgifを作成しました。 ご覧のとおり、をM-/呼び出しますcompany-dabbrev。しかし、会社の完了ポップアップで提案されていることを確認したいと思います。これがデフォルトではないことに驚いた。 company-dabbrev企業のポップアップウィンドウに提案を「フィード」するための提案はありますか?

3
CompanyでC / C ++の状況依存の補完を取得するにはどうすればよいですか?
Semantic そうです、これを行うことができるように、私は、私はそれが期待通りに動作させることはできません。たとえば、私が#include "Type.h"宣言Type tしたsemantic-complete-analyze-inline場合、いつポイントが後であるかを使用すると、t.一貫してエラーが発生します 「タイプt」のタイプが見つかりません のすべてのパブリック(またはその他の適切な)メンバーを私に与える代わりにt。 ここで探している結果を取得するにはどうすればよいですか?理想的には、セマンティックスが会社のバックエンドとして提供する可能性のあるものをどのように使用できますか?

2
会社モードを使用したファイル名補完
init.elで次のコマンドを使用して会社を有効にしました。 (require 'company) (add-hook 'after-init-hook 'global-company-mode) ただし、ソースにプロバイダがあり、ウェブサイトでサポートされていると記載されていますが、ファイル名の補完は行われていません。 / home / emmanuel ...と入力し始めますが、何も起こりませんが、補完がオプションの提供を開始することを期待していますか? また、会社モードの相対パスの自動検出はどのように自動検出されますか?サポートされていると思いますが、最初の "/"をヒントにしないと、どのように検出されるのかわかりません。


2
会社モードでドキュメントバッファーに移動する
最近からauto-complete-modeに切り替えcompany-modeて楽しんでいます。最近、私はいくつかのEmacs Lispコードを書かなければなりませんでした。関数の入力を開始すると、補完候補が表示F1されます。押すと、ドキュメントが別のバッファーで開きます。ドキュメンテーションバッファーにジャンプしたいのですが、入力C-x oすると閉じます。ヒントはありますか?

1
会社モードを高速化しますか?
私はしばらくの間、崇高なテキストからemacsに切り替えました。emacsの方がはるかに優れていると感じていますが、オートコンプリートは応答性に本当に欠けています。2つの文字が入力された後に完了しようとするように会社をカスタマイズしました。遅延は0.1秒でしたが、半分の時間しか表示されず、実際には表示されません。他の誰かが会社を崇高な/視覚的なスタジオ/日食と同じくらい敏感に反応させることに成功しましたか?他のIDEは本当に。

1
メジャーモードを初めてロードするときに、劣ったプロセスを自動的に実行するにはどうすればよいですか?
会社でPython(またはMatlab)を使用しているとしましょう。劣ったプロセスがなければ、会社は Completion needs an inferior Python process running ただし、劣ったプロセスを自動的に実行する明白な解決策 (add-hook 'python-mode 'run-python) .pyファイルを開くたびに新しいpythonプロセスを実行します(Matlabを使用するとコストが高くなります) メジャーモードが初めて実行されるときにのみ実行されるフックはありますか?または、python / matlabの下位プロセスがすでに実行されているかどうかを検出する方法はありますか?または、メジャーモードで1回だけ下位プロセスを自動的に実行するというこの問題を解決する別の方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.