【vscode插件開發】如何在VSCode里面引入Angular


前言

之所以有這個需求,是因為想要在vscode插件開發的時候可以使用我們自己的組件庫,而我們的組件庫又是依賴於Angular的,所以如何將VSCode和Angular結合在一起使用就成為了必須要解決的問題。
首先,從項目搭建上,兩者可以說是完全獨立的,Angular有自己的腳手架Angular CLI,VSCode也有自己的腳手架vscode-generator-code
可以分別來看下兩者的項目結構:
Angular:
image.png
VSCode:
image.png
從項目結構來看,想把兩個結構強制組合,或者取其中的一個用都是不可行的,那么,最重點的問題來了,要怎么把兩個完全獨立的項目結構融合在一起呢?

解決思路

Angular與VSCode作為兩個獨立的模塊,將Angular最后打包的靜態文件作為VSCode的入口文件去引入。


實現流程

1. 先在VSCode里引入Angular的項目結構,如下圖所示,在VSCode中新建一個文件夾,專門用來存放Angular的項目結構,並且將所有頁面以及靜態資源全部放在Angular中,VSCode就負責處理數據
image.png

2. 配置Angular的打包路徑,
"outputPath": "../src/static",
 

3. 配置VSCode引入路徑為Angular的輸出文件
panel.webview.html = this.getHTMLTemplate(this.context, panel, "/index.html");
 

4. 到這里,可以說已經把Angular和VSCode進行了關聯,可以在VSCode里拿到Angular導出的頁面了,那么,此時此刻又產生了一個新的問題,我要如何在Angular里使用VSCode的API,和VSCode進行通信呢?
 
  "dependencies": {
    "@types/vscode": "^1.44.0", // 引入依賴即可
  }

 

小結

代碼無國界,目前國內使用Angular開發VSCode插件的可能寥寥無幾,度娘也沒有可行性方案,該方案是參考了git上一個日本人的代碼,親測有效~
最后的最后,貼上日本人的代碼庫地址:https://github.com/stm32p103/vsce-practice,極具學習指導意義,感恩~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM