喜欢! 从来不用flycheck和snippet自动补全功能的我为大佬点赞!
@manateelazycat 猫哥,今晚在Win10下调试了Nox+ mspyls,只要修改下nox.el 2309 行加一条语句就可以完美支持Win10 系统。
(if (eq system-type 'windows-nt) ".exe" "")
有空能否更新一下,方便更多地朋友使用。
(defun nox--python-contact (interactive)
(cond ((string-equal nox-python-server "mspyls")
(setq-default nox-workspace-configuration
'((:python :autoComplete (:extraPaths nil)
:analysis (:autoSearchPaths :json-false :usePYTHONPATH :json-false))))
(cons 'nox-mspyls (list (concat nox-python-server-dir
"Microsoft.Python.LanguageServer"
(if (eq system-type 'windows-nt) ".exe" "")))))
((string-equal nox-python-server "pyls")
(list "pyls"))
))
已经搞定了, 更新即可
感谢
这样Windows 用户只要自己再设置下python路径就可以愉快地使用mspyls了。
例如: (setq nox-python-path "c:/Python38/python.exe")
目前使用Nox,在Mac 和 Linux 都正常。但在Windows下有点小问题:
通过kill-this-buffer
关闭所有*Nox(xxxxx)* buffer
时会造成emacs 冻结。
虽然对使用影响不太大,但是有时不小心关闭这些nox buffer时就得重启emacs。由于冻结住了,很难debug。有用过nox的朋友遇到这个问题吗?
有个问题: java项目下不能 auto guess project root,设置 project root 开启 nox 后,只有第一个 java 文件能正常补全,打开其他的 java 文件会另起一个 nox workspace
请问有人在使用Nox实现C#的自动补全和跳转吗? 我用Nox尝试连接,总是不成功。
不知道Nox 需要什么样的参数可以连接?
经过测试,目前C#在Emacs上的语法高亮可以使用Csharp-mode, 配合omnisharp-emacs 连接omnisharp-roslyn Sever 正常工作。
Nox是Forked自eglot的,在eglot上有人通过以下配置可以成功连接omnisharp-roslyn
(use-package eglot
:commands (eglot eglot-ensure)
:hook ((python-mode . eglot-ensure)
(csharp-mode . eglot-ensure))
:config
(progn
(define-key eglot-mode-map (kbd "C-c e r") 'eglot-rename)
(define-key eglot-mode-map (kbd "C-c e f") 'eglot-format)
(define-key eglot-mode-map (kbd "C-c e h") 'eglot-help-at-point)
(add-to-list 'eglot-server-programs
`(csharp-mode . ("C:/Home/omnisharp_64/OmniSharp.exe" "-lsp")))))
系统:Windows 10,Mac
emacs 28.0.50/ 27.0.91
显然不是,我最新的电脑也卡的
楼主加油,关注中,等有空了在spacemacs中试试。
我用Nox 在 mspyls和haskell 以及ccls感觉都很好啊,没觉得卡。我只测试过Windows和mac
打开go文件 M-x nox 返回
[nox]Server reports (type=2): You are neither in a module nor in you GOPATH. If you are using modules, please open your editor at the directory containing the go.mod.
我在用module,用lsp-mode的时候没问题或者会让import project,使用nox的时候如何让它识别go项目呢。
spacemacs 中如何安装配置?
spacemacs中不知道如何使用nox
dotspacemacs-additional-packages
'(
(nox :location (recipe :fetcher github :repo "manateelazycat/nox"))
)
lsp layer是不是要删除掉,python layer默认会加载cannaoda layer, 怎么处理
lsp layer 可以去掉,cannaoda layer 是啥,不需要的 package 可以放到 dotspacemacs-excluded-packages
或者像我这样在 layer 中加 not 去掉
(c-c++ :packages (cc-mode ccls company-c-headers)
:variables
c-c++-default-mode-for-headers 'c++-mode
c++-enable-organize-includes-on-save t
;; c-c++-backend t
c-basic-offset 4
c-c++-adopt-subprojects t)
(python :packages (not yapfify live-py-mode)
:variables
python-backend 'anaconda
python-sort-imports-on-save t
python-test-runner '(pytest nose)
python-formatter 'black
python-format-on-save nil
blacken-fast-unsafe t
python-fill-column 88)
Hi, 我已经不用nox 而继续用lsp了。 在spacemacs 中,你想使用nox的话,你只需要把你想用lsp作为backend的语言那些layer中,backend 去掉lsp支持 改为默认的; 可以但不需要删除lsp (不删除的好处是,你可以随时关闭nox,随时用lsp)。如果python 你不想用默认的anaconda,你可以在进入python文件后,关闭anacoanda,有个具体的mode close,比较直接。 即使anaconda和nox一起开,应该问题也不大。
我不用nox的原因是,lsp现在速度已经比较快(没有觉得和nox有明显区别),在spacemacs 里面用起来也比较方便了。在识别根目录上,nox好像略有问题。
之前识别出现问题之后就没有补全了,现在不知道因为什么,会报错但是会出补全
其实就是最后一行配置管用,omni csharp的路径是固定的吗?
omni csharp需要自己编译或者下载预编译的。路径可以自定义的,要固定也是可以的。Omnisharp-emacs这个包是自动将预编译的版本下载到.emacs.d的一个子目录下。
~/.emacs.d/.cache/omnisharp/server/v1.34.5/OmniSharp.exe
我只试过mac和Windows。