๋ฌด์์ ์ฑ์ทจํ๋ ค๊ณ ํ์ญ๋๊น?
๋ด emacs๊ฐ vscode์ฒ๋ผ ์๋ํ๋๋กํ๋ ๊ฒ์ ๋ง์น ๋ด๊ฐ C ++ ๋ฐ C # (ํตํฉ์ ์ํด) vscode ํ์ฅ์ ์ค์นํ๊ณ ์๋ ์์ฑ (๋ด๊ฐ ์ ๊ฒฝ ์ฐ๋ ์ฃผ์)์ ๊ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์กฐ์ฌ๋ฅผ ๋ง์ดํ๋๋ฐ ํ์ฌ ๋ชจ๋๋ฅผ ์ฌ์ฉํด์ผํ๋ค๋ ๊ฒ๋ฟ์
๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ๋ฅผ ๊ต์ก ํด์ฃผ์ธ์.
๋น์ ์ ๋ฌด์์ ์๋ ํ์ต๋๊น?
๋๋ .doom.d / init.el์ ๋ค์ด๊ฐ ์ฃผ์์ ์ ๊ฑฐํ๊ณ cc์ csharp๋ฅผ ์ ๊ฑฐํ๊ณ 'bin / doom refresh'๋ฅผํ์ง๋ง ๊ตฌ๋ฌธ ๊ฐ์กฐ (ํ
์คํธ์ ์์) ๋ง ๋ฐ๊ณ ์์ต๋๋ค.
์์คํ
์ ๋ณด
emacs ๋ฒ์ 26.3
๊ธฐ๋ฅ XPM JPEG 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 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2
๋น๋ 8 ์ 29, 2019
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, ์ง๊ธ)
windowsys x
daemonp ์๋ฒ ์คํ
๋ ๋ฒ์ 2.0.9
๋น๋ HEAD-> c6518498b ๊ฐ๋ฐ 2020-01-28 14:07:08 -0500
๋๋ ํ ๋ฆฌ ~ / .doom.d /
์์คํ
์ ํ gnu / linux
๊ตฌ์ฑ x86_64-pc-linux-gnu
์ / bin / bash
uname Linux 5.4.14-arch1-1 # 1 SMP PREEMPT Thu, 23 Jan 2020 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 -์์ ๋น์ทํ ์ผ์ข
์ ์์/)
ํ๊ฒฝ ์ค์ envfile envvar-file
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 -templates fold multi-cursors rotate-text snippets : emacs dired electric ibuffer vc : checkers syntax : tools (eval + overlay) (lookup + docsets) lsp magit : lang cc csharp data emacs-lisp markdown (org + dragndrop + present) sh : config (๊ธฐ๋ณธ๊ฐ + bindings + smartparens))
ํจํค์ง (ํด๋น ์์)
elpa (s popup pkg-info flycheck f epl dash csharp-mode auto-complete)
๊ณ ์ ํด์ (ํด๋น ์ฌํญ ์์)
```
์ VS ์ฝ๋๋ฅผ ๊ณ ์ํ์ง ์์ต๋๊น?
doom 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๋ ์ฌ์ฉํฉ๋๋ค.
์ด์จ๋ omnisharp๋ฅผ ์ค์น ํ์ต๋๊น?
๊ทธ๋, ์์น ๋ฆฌ๋ ์ค์์ ๋ด๊ฐ ํ ์ผ :
.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 # ๋ฒํผ๋ฅผ
* Messages *์ LSP ์ถ๋ ฅ์ด ์์์ต๋๊น? ( SPC h e
)
' @myrgy Linux ํฐ๋ฏธ๋์์ ๋ช
๋ น ์คํ :
์ด๋ค omnisharp๊ฐ " ๋ฅผ ๋ฐํํฉ๋๋ค
์ด๋ค omnisharp-roslyn์ด " ๋ฅผ ๋ฐํํฉ๋๋ค
omnisharp-roslyn์ด pacman -Qet๊ณผ ํจ๊ป ์ค์น๋์ด ์์์ ์ ์ ์์ง๋ง
@hlissner ์, ๋ฒํผ์์ด ๋ฉ์ธ ํ๋ฉด์์ doom emacs๋ฅผ ์ฐ ๋ค์ ๋๋ฒ๊ทธ ๋ชจ๋๋ก ๋ค์ด๊ฐ ๋ค์ csharp ํ์ผ์ ์ด์๊ณ SPC-bB์์ ์ฐพ์ ์์๋ lsplog ๊ฐ ์์ต๋๋ค. ๋ค์์ ๋ฉ์์ง ๋ฒํผ์
๋๋ค.
https://pastebin.com/DrwK7SFd
bin ํด๋ ์ค ํ๋์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ฃ์ผ๋ ค๊ณ ํ ์ ์์ต๋๋ค.
์๋ ํ์ธ์ @LarryLeb , ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๊น?
ํธ์ ๋ด์ ๊ฐ๊ธฐ
ํ์คํํ๊ธฐ ์ํด ์ปดํจํฐ์์ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ive๋ arch linux์ windows 10์ ๋ชจ๋ ์๋ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ค ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ฆ์ ๋ต๋ณ ์ฃ์กํฉ๋๋ค. ํ์ง๋ง ์ ๋ OmniSharp๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. ํ์ง๋ง ccls์ ํ์ด์ฌ ์์ฑ์ ์ ์๊ฒ ์ ์๋ํฉ๋๋ค.
์๋ํด ์ฃผ์๊ณ ์๋ํ๋์ง ์๋ ค ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๋ฟก๋ฟก
lsp-install-server
์ฌ์ฉํ์ฌ LSP ๋ชจ๋๋ฅผ ํตํด omnisharp-roselyn์ ์ค์นํ๋ ๋ฐ ๋ ๋์ ์ด์ด์์ ์ ์์ต๋๋ค. ์ด ์์
์ ์ํํ๊ณ lsp-log
๋ฒํผ๋ฅผ ๋ณผ ์ ์์์ง๋ง ์๋ ์ค๋ ๋์์ ์ธ๊ธ ํ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๊ทธ๋ฌ๋ LSP ์ง์์ ์์ง ์๋ฒฝํ์ง ์์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ์ธํ์ญ์์ค : https://github.com/emacs-lsp/lsp-mode/issues/1125
๋ ๊ตฌ์ฒด์ ์ผ๋ก, ์์ ์ด์ ์ค๋ ๋์์ ์ธ๊ธ ๋์ด PR์ ํ์ธํ์ญ์์ค : https://github.com/emacs-lsp/lsp-mode/issues/1125#issuecomment -607412250
_razzmatazz๊ฐ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์์๊ฒ ๋ ๊ฒ ๊ฐ์ต๋๋ค ._
์ข์ ์์์ OmniSharp์ MS ๊ฐ๋ฐ์๊ฐ LSP ๊ฐ์ ์ ์ํด ์ ๊ทน์ ์ผ๋ก ์์ ํ๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค (https://github.com/OmniSharp/csharp-language-server-protocol์์ ๋ง์คํฐ ๋ธ๋์น์ ๋ํ ์ปค๋ฐ ๋น).
๊ทธ๋์ omnisharp-emacs๊ฐ ์ต์์ ๋์์ ๋๋ค.
์๋ ํ์ธ์.
์ด์ํ๊ฒ๋ lsp-csharp๋ ๊ฐ๋ ์๋ํฉ๋๋ค. ํ์ง๋ง ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค!
@razzmatazz ์ปค๋ฐ์ด ์๋ฝ
์๋ ํ์ธ์.
์ด์ํ๊ฒ๋ lsp-csharp๋ ๊ฐ๋ ์๋ํฉ๋๋ค. ํ์ง๋ง ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค!
@razzmatazz ์ปค๋ฐ์ด ์๋ฝ
์ค, ๊ทธ PR์ ์ฌ์ ํ โโ์ฝ๊ฐ์ ์์
์ด ํ์ํ๊ณ -๋ฐ๋ผ๊ฑด๋-CI์์ ๋ํ๋๋ PollingFileChangeToken
๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ๊ธฐ ๋๋ฌธ์ omnisharp-roslyn์ ๊ด๋ฆฌ์์ ๋์์ด ํ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋จ๊ณ :
brew install omnisharp/omnisharp-roslyn/omnisharp
doom sync
doom env
์ค๋ฅ ๋๋ ๋ฉ์์ง ๋ฒํผ๋ฅผ ํ์ธํ์ญ์์ค.
which OmniSharp
์คํ ์๋
~ bash$ ์ด๋ค omnisharp/ usr / local / bin / omnisharp~
@LarryLeb ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ํ์ฑํ ํ ํ -log ๋ฅผ ํ์ธํ๊ธฐ ์ ์ C # ๋ฒํผ๋ฅผ ์ด์ ์ต๋๊น?
๋ฉ์์ง์ LSP ์ถ๋ ฅ์ด ์์์ต๋๊น? (
SPC h e
)
@LarryLeb ์ ๋์ผํ๊ฒ * lsp-log * ๋ฒํผ๊ฐ ์์ต๋๋ค.
@LarryLeb ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ํ์ฑํ ํ ํ -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)