在Visual Studio中徹底禁用IntelliSense

來源:互聯網
上載者:User

以下內容適用於VS2005SP1及更高版本。


工具-〉宏-〉宏資源管理員,
在宏資源管理員視窗右擊宏結點,選擇建立巨集專案。
選擇巨集專案,命名為Intellisense,然後添加,
將自動添加的Module1重新命名為IntellisenseModule。
右擊IntellisenseModule選擇編輯,
在新視窗中粘貼下面的代碼:

 

Imports System</p><p>Imports EnvDTE</p><p>Imports EnvDTE80</p><p>Imports System.Diagnostics</p><p>Enum ISENSE_FLAGS</p><p> ISENSE_NORMAL = 0 'normal (Intellisense On)</p><p> ISENSE_NOBG = &H1 'no bg parsing (Intellisense Updating Off - although NCB file will be opened r/w and repersisted at shutdown)</p><p> ISENSE_NOQUERY = &H2 'no queries (don't run any ISense queries)</p><p> ISENSE_NCBRO = &H4 'no saving of NCB (must be set before opening NCB, doesn't affect updating or queries, just persisting of NCB)</p><p> ISENSE_OFF = &H7 'no bg parsing, no queries, no saving of NCB, ncb will still be opened, however</p><p>End Enum</p><p>Public Module IntellisenseModule</p><p> Sub Intellisense_NoUpdate()</p><p> DTE.Properties("TextEditor", "C/C++ Specific").Item("IntellisenseOptions").Value = ISENSE_FLAGS.ISENSE_NOBG Or ISENSE_FLAGS.ISENSE_NCBRO</p><p> End Sub</p><p> Sub Intellisense_Off()</p><p> DTE.Properties("TextEditor", "C/C++ Specific").Item("IntellisenseOptions").Value = ISENSE_FLAGS.ISENSE_OFF</p><p> End Sub</p><p> Sub Intellisense_On()</p><p> DTE.Properties("TextEditor", "C/C++ Specific").Item("IntellisenseOptions").Value = ISENSE_FLAGS.ISENSE_NORMAL</p><p> End Sub</p><p> Sub Intellisense_Status()</p><p> Dim x</p><p> x = DTE.Properties("TextEditor", "C/C++ Specific").Item("IntellisenseOptions").Value</p><p> Dim result</p><p> If x = ISENSE_FLAGS.ISENSE_NORMAL Then</p><p> result = "Intellisense On"</p><p> ElseIf x = ISENSE_FLAGS.ISENSE_OFF Then</p><p> result = "Intellisense Off"</p><p> Else</p><p> If x And ISENSE_FLAGS.ISENSE_NOBG Then</p><p> result = "No background parsing. "</p><p> End If</p><p> If x And ISENSE_FLAGS.ISENSE_NOQUERY Then</p><p> result = result + "No Intellisense queries in IDE. "</p><p> End If</p><p> If x And ISENSE_FLAGS.ISENSE_NCBRO Then</p><p> result = result + "No saving of NCB file. "</p><p> End If</p><p> End If</p><p> MsgBox(result)</p><p> End Sub</p><p> Sub DeleteNcbAndReload()</p><p> Dim name</p><p> Dim namesln</p><p> namesln = DTE.Solution.FullName()</p><p> If Len(namesln) > 4 Then</p><p> name = Left(namesln, Len(namesln) - 4) & ".ncb"</p><p> If MsgBox("This may take a while. Closing solution, deleting " & name & ", and reopening solution.", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then</p><p> DTE.Solution.Close()</p><p> Kill(name)</p><p> MsgBox("NCB deleted", MsgBoxStyle.OkOnly)</p><p> DTE.Solution.Open(namesln)</p><p> End If</p><p> Else</p><p> MsgBox("No solution is currently loaded.", MsgBoxStyle.OkOnly)</p><p> End If</p><p> End Sub</p><p>End Module

 

檔案-〉關閉並返回,
右擊Intellisense宏選擇設為記錄項目。
工具-〉自訂-〉工具列-〉建立,
輸入一個你喜歡的名稱。
命令選項卡-〉類別-〉宏,
將Intellisense開頭的五個拖放至剛才建立的工具列內。
在按鈕上右擊可以重新命名並更改表徵圖。

各個按鈕的功能:
Intellisense On 恢複正常狀態,開啟Intellisense;
Intellisense Off 絕大多數Intellisense功能關閉,與重新命名feacp.dll效果幾乎相同;
Intellisense NoUpdate 禁止Intellisense資料庫的自動更新;
Intellisense Status 顯示當前的Intellisense設定狀態;
DeleteNcbAndReload 關閉解決方案,刪除ncb檔案,重載解決方案。

注意事項:

實踐證明,NoUpdate比Off選項更好;

 

各按鈕的修改是永久的,與解決方案無關;
當沒有解決方案載入時,修改是無效的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.