如何WebPack TypeScript语言服务器扩展LSP

时间:2019-09-12 06:04:47

标签: typescript webpack visual-studio-code language-server-protocol

我有一个基于lsp-sample代码的语言服务器扩展(vs代码)。 https://github.com/microsoft/vscode-extension-samples/tree/master/lsp-sample

我正在尝试对扩展进行WebPack,然后再发布。问题是我无法产生任何实际有效的输出。它一直在报告Starting client failed,这实际上是意味着扩展的服务器部分无法启动的 String dest = "/home/Desktop/kartik/addingTable.pdf"; PdfFont f = PdfFontFactory.createFont(FONT, PdfEncodings.IDENTITY_H); PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document doc = new Document(pdf); float [] pointColumnWidths = {150F, 150F, 150F}; Table table = new Table(pointColumnWidths); table.addCell(new Cell().add(new Paragraph("اسم").setBaseDirection(BaseDirection.RIGHT_TO_LEFT)).setFont(f)); doc.add(table);

我怀疑我在包装服务器部分时做错了什么,但是作为WebPack的菜鸟,我不知道还有什么可尝试的。

我在vs-code-extension仓库中打开了一个问题,但没有人回答: https://github.com/microsoft/vscode-extension-samples/issues/191

我在这里分叉了lsp-sample,以包含我尝试使用的代码(没有使我的项目具体细节混乱的地方): https://github.com/obiwanjacobi/vscode-extension-samples/tree/191-webpack-issue/lsp-sample

基本上,我试图运行2个WebPack作业,运行在vscode内的扩展的one for the client part和我的语言服务器的one for the server part(应该是可行的)。对于这些WebPack作业,我都有一个webpack.config.js文件和一个package.json script entry来运行它们。

1 个答案:

答案 0 :(得分:0)

我设法将客户端和服务器端捆绑在一起,并将其打包成一个有效的 .vsix

How to correctly bundle a vscode extension using webpack

这些步骤会产生一个有效的扩展,但也会产生关于捆绑的警告,但仍然可以帮助你实现你想要的。