何を達成しようとしていますか?
emacsをvscodeのように機能させるには、c ++およびc#(ユニティ用)vscode拡張機能をインストールし、オートコンプリート(私が気にする主なもの)を使用するのと同じです。 私はたくさんの研究をしましたが、私が得た唯一のことは、会社モードを使用する必要があるということです。他の方法があるかどうかはわかりません。もしそうなら、私に教えてください。
何を試しましたか?
.doom.d / init.elにアクセスし、コメントなしのccとcsharpを実行して、「bin / doomリフレッシュ」を実行しましたが、構文の強調表示(テキストの色)しか表示されません。
システムインフォメーション
emacsバージョン26.3
機能XPMJPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBEXIMモジュールスレッドLIBSYSTEMDLCMS2
2019年8月29日ビルド
buildopts(-prefix = / usr --sysconfdir = / etc --libexecdir = / usr / lib --localstatedir = / var --with-x-toolkit = gtk3 --with-xft --with-modules'CFLAGS = -march = x86-64 -mtune = generic -O2 -pipe -fno-plt'CPPFLAGS = -D_FORTIFY_SOURCE = 2 LDFLAGS = -Wl、-O1、-sort-common、-as-needed、-z、relro、 -z、now)
windowsys x
デーモンpサーバー-実行中
運命バージョン2.0.9
HEADのビルド-> c6518498bの開発2020-01-2814:07:08 -0500
dir〜 / .doom.d /
システムタイプgnu / linux
config x86_64-pc-linux-gnu
シェル/ bin / bash
uname Linux 5.4.14-arch1-1#1 SMP PREEMPT木、2020年1月23日10:07:05 +0000 x86_64
パス(/ usr / local / bin / usr / local / sbin / usr / bin / usr / bin / site_perl / usr / bin / vendor_perl / usr / bin / core_perl /usr/lib/emacs/26.3/x86_64-pc-linux -gnu /)
config envfileenvvar-ファイル
elc-ファイル0
モジュール(:completion company ivy:ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints(popup + all + defaults)vc-gutter vi-tilde-fringe window-select Workspaces:editor(evil + everywhere)file -テンプレートは複数折ります-カーソルrotate-テキストスニペット:emacs dired electric ibuffer vc:checkers構文:tools(eval + overlay)(lookup + docsets)lsp magit:lang cc csharp data emacs-lisp markdown(org + dragndrop + present)sh :config(デフォルト+バインディング+ smartparens))
パッケージ(n / a)
elpa(sポップアップpkg-info flycheck f epl dash csharp-mode auto-complete)
固定解除(n / a)
`` `
VSコードに固執してみませんか?
運命のemacsを使いたいのですが、vscodeを使いたくないからです。
:lang (cc +lsp)
を有効にして、システムにcclsをインストールしてみてください。 vscodeと同じバックエンドを使用します。 私はチェックするPCにいませんが、csharpモジュールは+lsp
(omnisharpを使用)もサポートしていると思います。
これは機能していますが、c ++の場合のみ、csharpmodeのlspがないことを示しています。
:lang (csharp +lsp)
は、 https://github.com/OmniSharp/omnisharp-roslynがインストールされていることを想定してい
+lsp
場合は、 https://github.com/OmniSharp/omnisharp-emacsを使用し
いずれにせよ、omnisharpをインストールしましたか?
うん、archlinuxで私がしたこと:
.csファイルを開くと、ログに「LSP :: csharp-modeのLSPサーバーがありません( lsp-logを確認してください)」と表示され
サーバーをPATH
インストールしますか?
デバッグモードをアクティブにしてみてください: SPC h d d
次に、 *lsp-log*
バッファー( SPC b B lsp-log
)を開いて、その内容を確認します。
奇妙なことに、lspログバッファはありません、何かアイデアはありますか?
エラーまたはメッセージバッファを確認してみてください。
which OmniSharp
を実行してみてください
@LarryLebデバッグモードをアクティブ化した後、* lsp-log *をチェックする前に、C#バッファーを開きましたか?
*メッセージ*にLSP出力はありましたか? ( SPC h e
)
' @myrgy Linuxターミナルでコマンドを実行しています:
whichomnisharpが返す " which:no omnisharp in(/ usr / local / bin:/ usr / local / sbin:/ usr / bin:/ usr / bin / site_perl:/ usr / bin / vendor_perl:/ usr / bin / core_perl) 「」
whichomnisharp-roslynが返す " which:no omnisharp-roslyn in(/ usr / local / bin:/ usr / local / sbin:/ usr / bin:/ usr / bin / site_perl:/ usr / bin / vendor_perl:/ usr / bin / core_perl) "
omnisharp-roslynがpacman-Qetとともにインストールされていることがわかりますが
@hlissnerはい、バッファなしでメイン画面でdoom emacsを開き、デバッグモードにして、csharpファイルを開きましたが、SPC-bBでlsplogが見つかりませんメッセージバッファです。
https://pastebin.com/DrwK7SFd
シンボリックリンクをbinフォルダの1つに入れてみてください。
こんにちは@LarryLeb 、問題を解決できましたか?
@myrgy nope
念のため、マシンで動作していることを確認できますか。 iveはarchlinuxとwindows10の両方を試したので、どちらも同じ問題を抱えています。
返事が遅れて申し訳ありません。 しかし、私はOmniSharpを使用していません。 しかし、cclsとpythonの補完は私にとってはうまく機能します。
試してみて、うまくいくかどうか教えていただければ幸いです
@LarryLeb
lsp-install-server
を使用してLSPモードでomnisharp-roselynをインストールする方が幸運かもしれません。 これを実行すると、 lsp-log
バッファーが表示されましたが、以下のスレッドで説明されているのと同じ問題が発生しました。
しかし、LSPのサポートはまだ完全ではありません。 この問題をチェックしてください: https :
より具体的には、上記の問題スレッドで言及されているこのPRをチェックしてください: //github.com/emacs-lsp/lsp-mode/issues/1125#issuecomment -607412250
_razzmatazzはほとんどの機能を彼のために機能させることができたようです。_
幸いなことに、OmniSharpのMS開発者はLSPの改善に積極的に取り組んでいるようです(https://github.com/OmniSharp/csharp-language-server-protocolのマスターブランチへのコミットごと)。
それまでの間、omnisharp-emacsが最良の代替手段です。
@coltoneakins
奇妙な、lsp-csharpは時々動作します。 ただし、常にではありません。
@razzmatazzコミットが受け入れられるのを待っています! :D
@coltoneakins
奇妙な、lsp-csharpは時々動作します。 ただし、常にではありません。
@razzmatazzコミットが受け入れられるのを待っています! :D
ああ、そのPRにはまだいくつかの作業が必要であり、CIに表示されるPollingFileChangeToken
でその問題を修正する方法がわからないため、omnisharp-roslynのメンテナからの支援も必要です。
この問題があります。
手順:
brew install omnisharp/omnisharp-roslyn/omnisharp
doom sync
doom env
エラーまたはメッセージバッファを確認してみてください。
which OmniSharp
を実行してみてください
〜bash$どのomnisharp/ usr / local / bin / omnisharp〜
@LarryLebデバッグモードをアクティブにした後、 lsp-logをチェックする前に、C#バッファーを開きましたか?
メッセージにLSP出力はありましたか? (
SPC h e
)
@LarryLebと同じように、バッファ* lsp-log *はありません。
@LarryLebデバッグモードをアクティブにした後、 lsp-logをチェックする前に、C#バッファーを開きましたか?
メッセージにLSP出力はありましたか? (
SPC h e
)
Debug mode on
Note: standard-indent, tab-width, evil-shift-width adjusted to 4
DOOM Running doom hook: lsp!
DOOM [ui/doom-dashboard] Changed dashboard’s PWD to <path-to-project-instead>
LSP :: No LSP server for csharp-mode(check *lsp-log*).
Garbage collecting...done (0.089s)