opensumi / ide-startup-lite

OpenSumi Lite Web sample
https://opensumi.github.io/ide-startup-lite
MIT License
69 stars 22 forks source link

接入language-service报错 #41

Closed 15083055793 closed 1 year ago

15083055793 commented 1 year ago

import { LanguageServiceContribution } from './language-service/language.contribution'; import { LsifServiceImpl } from './language-service/lsif-service'; import { ILsifService } from './language-service/lsif-service/base';

image

接入之后接口报错如下:

image

我想问下lsif/hover接口在哪,全局没搜索到

yiliang114 commented 1 year ago

https://github.com/opensumi/core/blob/917b6d16c7a54e948a8f27ca156815747a143736/packages/startup/entry/web-lite/lite-module/language-service/lsif-service/lsif-client.ts#L38

image

erha19 commented 1 year ago

@yiliang114 @yiliang114 这里的结构需要依赖 ISIF 方案去实现一下后端接口,如果不需要,可以移除掉,见 https://opensumi.com/zh/docs/integrate/quick-start/lite#lsif-%E8%AF%AD%E6%B3%95%E6%9C%8D%E5%8A%A1

15083055793 commented 1 year ago

@erha19 我理解的这是纯前端的项目,为什么会有接口的依赖,如果有接口的依赖,那么 ide-web-lite 就不是纯前端的项目工程了。 不知道我这样理解的对不?

erha19 commented 1 year ago

@15083055793 我们常规描述的纯前端指的是 “无容器的浏览器环境”,即不需要依赖完整的 “容器服务” 去支持所有服务调用,但在文件的读写、语法索引等服务的支持,是需要一些额外的接口请求的。

15083055793 commented 1 year ago

@erha19 谢谢,解释的很清楚。 如果我想要接入上边的功能,如何做呢,我全局搜索了 core 里的代码,没有相关的 API 支持,是要开发者自己实现还是 core 后续会实现该 API。

erha19 commented 1 year ago

@15083055793 可以看一下这个文章 https://mp.weixin.qq.com/s/7ZFezyneFADZ7_unAZWUEg ,是目前阿里内部的实现方案。

hacke2 commented 1 year ago

@15083055793 可以集成一下 vscode-anycode 插件,该插件为纯前端插件,会分析当前仓库所有代码,在前端在线生成语言服务索引,支持语言有 JS/TS/Java/C++ 等,离线语言服务索引成本较大,现在我们已经逐渐切到 vsocde-anycode 的方案了

hacke2 commented 1 year ago

可以在 Gitlink 上直接体验一下 https://www.gitlink.org.cn/xiaochangbai/simple-spring/webIDE/tree/master/spring-core/src/main/java/com/xcb/spring/aop/AbstractAopProxy.java image

erha19 commented 1 year ago

@15083055793 目前仓库示例已接入了 anycode ,可以体验一下 https://github.com/opensumi/ide-startup-lite/pull/49.