1 問題描述
Vue3的組合式API無法在WebStorm中正確識別,表現為defineComponent等無法被識別:

2 嘗試方案
猜想這種問題的原因是無法正確識別對應的Vue3庫,筆者相信WebStorm是可以做到的,只是某些配置沒有正確,筆者嘗試過在設置的Libraries中勾選上node_modules,但是沒有效果。

3 解決辦法
最終的解決辦法參考了此處(圖源):

選擇node_modules文件夾,右鍵選擇Mark Directory as,最后選擇Not Excluded即可。
之后會花費一段時間索引,等待完成即可。

4 一些思考
看了一下WebStorm的文檔,項目中的文件夾總共分為四類:
Source:默認選項,所有文件夾默認都被視為Source除非設置為了Tests/Resource Root/ExcludedTests:標記為測試的文件夾Resource Root:資源文件夾,在輸入某些需要資源的代碼時,比如<img src=xxxx>,會自動提示該文件夾路徑下的資源文件Excluded:代碼補全、代碼導航等會忽略的文件夾。這個選項能提高WebStorm性能
在設置中搜索Directories可以發現node_modules默認是Excluded:

標記為Not Excluded后,就不是紅色了:

因此解決並不難,只是無法正確識別的原因。
