解決VisualStudio安裝完成後,編輯器無法讓ASHX檔案使用C#編輯器體驗
每次重灌或升級Visual Studio後,都會遇到ASHX(泛型處理常式、Generic Handler)的編譯器無法理解問題,例如:無法收折、摺疊程式碼(CodeFolding、ExpandAndCollapseCode),按下換行後縮排錯誤等問題,每次都要重新爬文才會想起來,因此記錄在此備查。
讓C#編輯器懂得處理ASHX程式碼格式編排
Step 1. 工具>選項>文字編輯器>副檔名
Step 2. 在副檔名處打入「ashx」後按下加入即可。
Step 3. 做完後關掉VisualStudio再重新開啟應該就可以看到效果了。
附註1:
效果設定上去後,VisualStudio 2019在WSP模式下,所有的app_code自定義類別,在編輯器上面都會無法使用intellisense環境撰寫,有關於debug時期的DataTips也有問題(VisualStudio 2019),但可以正確執行程式碼,若有意圖使用請小心。
若要返回intellisense、DataTips均可以正常運作的模式,請把設定刪除後重新開啟VS,並利用新增檔案功能新增一次ASHX(泛型處理常式)檔案,再重新開一次VS,應該可以恢復正常運作。個人覺得VisualStudio在ASHX檔案的處理從2015之後就滿滿的放呼爛BUG(例如著名的程式碼縮排Code Indent BUG到2019、2022版還是無解),不用期待了...
附註2:
一般來說為了維持自定義類別的可使用性,最終我們不太會去設定上述的設定,好在一般來說ASXH寫好後大概會去異動的機會鮮少,因此若開始撰寫或是臨時取出修改,我們可以採用這個暫時性解法來處理:
- Step 1. 全選或選取片段程式碼,偷懶的話可以選取第一行的<%@ WebHandler Language="C#" Class="..." %>。
- Step 2. 按下Ctrl + M + H。
- Step 3. 接著你會看到所有的程式碼突然之間都擁有摺疊的功能了,超棒!
- Step 4. 如果真的希望停止程式碼的摺疊功能,可以使用Ctrl + M + P。