[Vue with typescript] 如何为 typescript-mode 和 web-mode 配置同一个 language-server

那是vls的显示

这两个好像不会同时启动的吧,你revert下这个buffer看看连上的是那个?

我知道了你这不是一个常规的vue项目,是个前后端整合在一块的仓库啊

对,我现在把lsp workspace 换到前端文件夹好像也没用啊

你这样在 frontend 这个目录下面,建一个.volarrc文件试试,不用填任何内容就可以

不行,你需要手动 M-x lsp-workspace-folds-add 然后选择 frontend 这个文件夹

可以了,写写大佬

是吗,你可以试试看有没有其他问题,如果有问题,就再用我上面的另个方法,另外可以 lsp-workspace-folds-remove 可以清理误伤的文件夹

出了个问题,修改type的时候 yarn serve 辨识不出新的类型

比如我新定义了一个类型 CartItem ,lsp确认代码没有问题,可是当前的 yarn serve 报错,表示找不到这个类型,需要重新运行才能解决
这是怎么一回事?

实际代码是有问题吗?是lsp判断错了,还是yarn serve有问题?

实际代码没有问题,你自己去试试看吧

那和lsp就没关系了,我没遇到过这种情况,yarn serve 一般不应该会出这种问题

使用了几天 发现有点小卡,不知道是哪里的问题,这时我的lsp配置

(use-package lsp-mode
  :hook
  ((c++-mode python-mode clojure-mode typescript-mode web-mode julia-mode) . lsp)
  :config
  (setq lsp-enable-snippet nil
	lsp-eslint-enable nil
	lsp-idle-delay 0.8
	;; STUB add some config, risky
	lsp-log-io nil
	lsp-enable-symbol-highlighting t
	lsp-restart 'auto-restart
	lsp-file-watch-threshold 1000
	)
  (add-to-list 'lsp-file-watch-ignored-directories "node_modules/")
  :commands lsp)

这时我有关gc的代码

(defun my-cleanup-gc ()
  "Clean up gc."
  (setq gc-cons-threshold  (* 1024 200)) ; 200MB
  (setq gc-cons-percentage 0.5) ; 0.5s
  (garbage-collect))

(run-with-idle-timer 4 nil #'my-cleanup-gc)

可以看看这个贴子里的建议,另外,lsp-mode 也提供了一些优化方案,也可以参考一下 doom-emacs 里面关于 lsp 的优化等等,我现在日常用还行,虽然达不到vscode的流畅

大佬另外问一下,vscode和idea中对vue项目使用的 lsp server是哪个啊

也是volar和vls,不管啥编辑器都是这俩,因为根本没其他的,这个就是官方出的的和官方指定的