2019年12月份PHP Intelephense作者Ben Mewburn在鼕日飢寒交迫之際,閑的蛋疼想出一個餿點子: 逼大夥交錢購買他的收費版:搞一刀切,像YAF這種編譯類的框架使用起來提示報錯。
是時候要退回到phpstrom那種萌新IDE重新忍受界面慢吞吞的時候了嗎?不,9102年的使用者要的是絲滑,不是卡頓。
解決方法一
進入插件管理面板,選擇PHP Intelephense插件,此時可能看到的是1.7.1版本的。
選擇安裝其他版本->1.2.3,安裝完畢後,重啓一下編輯器。
問題解決。
解決方案二
這個辦法比上一個麻煩。
在插件界面找到PHP Intelephense的插件的設置小齒輪圖標,找到extension settings也就是插件設置。把檢測Undefined Methods和Undefined Types兩項功能取消勾選。把報錯的文档關掉重新加載, 解決。
This method is pretty troublesome than the last one.
Please find the extension settings icon on the mod button of "PHP Intelephense". Then cancel the relevant diagnostic functionality of methods & types. Will be OK after script file reloading.
解決方案三
打開PHP Intelephense插件設置界面,找到上方搜索框,查找關鍵字Stubs->點擊Add Item->選項中找到yaf->點擊OK按鈕。
經過實際測試,一些Yaf中特殊的寫法會引起IDE提示語法錯誤,例如控制器中的assign語法的參數問題。一般情況下,我們不使用這個方案。除非爲了避免觸發誤報bug而修改生産代碼。
解決方案四
請卸載php intelephense, php Xdebug之類有沖突的插件, 在vscode左側插件模塊中搜索php tools, 安裝。這個插件集成了phpintelephense xdebug, 所以請不要重複安裝。作者一直嚷著要收費license, 你可以不交錢,照樣用。
接下來重頭戲來了,在你項目的根目錄創建一個.editorconfig文档。填寫類似以下的配置:
[*.php] php_diagnostic_php0413 = false php_diagnostic_php0416 = false php_diagnostic_php0418 = false php_diagnostic = true
保存。
感興趣的兄弟可以試試,這個時候有人不免要問了:你這0413,0416怎麽來的?
很簡單,你安裝完了插件,會在problems中發現代碼裡多出各種語法錯誤、警告、報錯信息, 每條信息,後面都帶著一個小尾巴,寫著錯誤代碼PHP(PHPXXXX) [LnXXXXX, Col XX]都需要你根據你自己的項目報錯的類型來進行判斷,自行決定該不該無視掉。當然了,如果你是大佬,一個報錯信息都沒有,那說明你很優秀的啦~ 小編要不要給你來個三連?
解決方案五
還是要安裝php tools這個插件, 安裝完畢後, 再打開vscode當中的settings.ini文档。settings.ini文档可以在裡面追加一些配置:
"php.problems.exclude" : { "/" : [406, 413, 418] }
觀察一下效果。這一段配置的解釋是, 對當前項目工作區的所有文档, 跳過php0406, php0413, php0418的錯誤檢查。筆者有時候會發現yaf項目中蹦出一個錯誤檢查器自己生成的臨時只讀文档embeded.html不斷地報錯, 就可以通過這個方法解決。
發現更新後的vscode不能使用右鍵Go to Defination/Go to Implementations追蹤到函數定義了
土辦法, 先把方法、函數名稱Ctrl+C複制一下, 然後滑鼠左鍵點擊左邊的類, 進到類文档中, 然後Ctrl+F搜索方法就ok啦? 開玩笑,這是無法接受的。
請使用解決方案四、五。
2 樓 IP 114.242.***.111 的嘉賓 说道 : 很久前
3 樓 IP 111.192.***.152 的嘉賓 说道 : 很久前
4 樓 IP 222.128.***.254 的嘉賓 叹道 : 1个月前