vscode源碼分析【一】從源碼運行vscode


安裝git,nodejs和yarn
安裝Python27,3.x版本的不行,確保它在你的環境變量里;
安裝gulp

npm install --global gulp-cli

安裝windows build tools:

npm install --global windows-build-tools --vs2015

安裝node-gyp

npm install -g node-gyp

上面安裝的一大堆東西,看似沒無關,其實他們大都是用來編譯原生nodejs插件的,
nodejs的原生插件不是基於2進制分發的,是源碼分發的,需要開發者自己編譯;

下載vscode的源碼;
用管理員的方式打開powershell,不是管理員身份不行

在源碼根目錄下執行:yarn,安裝項目依賴的包,運行之前確保你處於FQ狀態
這行命令執行時,需要下載electron,會比較耗時;
執行

yarn watch

這行會執行構建工作;直到你看到如下輸出,說明構建成功了!

Finished compilation with 0 errors after

看到這一行后,構建命令並沒有退出;
它會監視vscode源碼文件的變化,如果有變化,它會馬上執行增量的構建,實時反映源碼變化的結果,贊!
用管理員身份另起一個powershell,執行

.\scripts\code.bat

這行命令又會給你下載electron;
如果你不想下載,看看code.bat文件,會發現:

:: Download Electron if needed
node build\lib\electron.js

打開這個文件,你會發現:

// returns 0 if the right version of electron is in .build/electron

分析electron.js會發現,它需要的electron的版本號在根目錄下的.yarnrc文件中有配置

disturl "https://atom.io/download/electron"
target "4.2.4"
runtime "electron"

vscode用的electron版本不夠新,我的“想學嗎”都用到5.0.2了,它還在4.2.4,
這個版本對有些原生組件兼容的不太好,比如:這個issue
剛發現這個issue在今年4月底的時候,被這個pr解決了,哈,當我沒說!
如果你想加快下載速度,你可以到淘寶的electron鏡像去下載相應的版本,
下載的壓縮包,解壓后放到這個目錄下.build/electron即可;

我發現vscode沒有用electron的ffmpeg.dll,而是用了一個體積更小的ffmpeg.dll
具體是因為BUG還是因為更小的體積,先不去深究。

運行起來后是這個樣子的(注意,它的圖標和title都和你下載的發行版是不一樣的)


如果要調試主進程的話,可以看下圖,直接在主進程的代碼里下斷點即可

 


免責聲明!

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



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