1. 程式人生 > >qt creator原始碼全方面分析(2-0)

qt creator原始碼全方面分析(2-0)

目錄

  • Extending Qt Creator Manual
    • 生成領域特定的程式碼和模板
      • 程式碼片段
      • 檔案和專案模板
      • 自定義嚮導
    • 支援其他檔案型別
      • MIME型別
      • 高亮和縮排
      • 自定義文字編輯器
      • 其他自定義編輯器
    • 執行外部工具
      • 簡單的外部工具
      • 複雜的外部工具
    • 所有主題

Extending Qt Creator Manual

Qt Creator是為Qt開發人員的需求量身定製的跨平臺整合開發環境(IDE)。

Qt Creator可以通過多種方式擴充套件。 例如,Qt Creator架構基於外掛載入器,這意味著外掛載入器以外的所有功能都在外掛中實現。 但是,您可以擴充套件和調整Qt Creator的許多部分,而無需求助於C++編碼,以及實現這樣的外掛。

本文件概述了擴充套件Qt Creator的各種方法,根據您要實現的目標,併為您提供了相關的文件。

生成領域特定的程式碼和模板

如果您經常需要編寫相同的程式碼,無論是小的程式碼片段,整個檔案還是分佈在多個檔案中的類,還是完整的專案,都可以為此目的建立程式碼片段,模板和嚮導。

程式碼片段

通常,片段包含幾行程式碼(儘管它們也可以是純文字),您通常希望將其插入到更大的程式碼主體中,但不想每次都鍵入一遍。 例如,while和for迴圈,if-else和try-catch構造以及類框架。 片段的觸發方式與普通程式碼編寫一樣(請參閱提供程式碼輔助)。Qt Creator包含一組預配置的程式碼片段,您可以在其中新增自己的片段。

> Snippets User Interface (翻譯)

檔案和專案模板

您可以擴充套件檔案>新建檔案或專案中的嚮導, 通過為自己的檔案和專案模板編寫JSON定義檔案來擴充套件。

  • Adding New Custom Wizards
  • User Interface Text Guidelines(翻譯)

自定義嚮導

如果上述程式碼片段和模板的方法,還不能滿足您的使用,那麼你可以建立一個自定義的Qt Creator外掛。 這使您在嚮導之外可以完全自主控制,但這需要您自己編寫大部分UI和邏輯程式碼。

  • Creating Plugins(翻譯)
  • Qt Creator Coding Rules(翻譯)
  • Creating Wizards in Code(翻譯)
  • User Interface Text Guidelines(翻譯)

支援其他檔案型別

如果您有擴充套件檔案或MIME型別檔案,而Qt Creator預設不處理,你可以編輯MIME型別定義,新增高亮定義檔案,並建立你自己的文字編輯器。

MIME型別

你可能會發現Qt Creator可以處理您的特定檔案,如果知道其內容的型別的話。 例如,對Qt Creator來說,未知的C++標頭檔案或原始檔副檔名。你可以修改Qt Creator中的MIME型別定義,來適應你的特定設定,通過新增或刪除副檔名,並指定魔術頭(magic headers)。

  • Editing MIME Types(翻譯)
  • MIME Type Specification Files

高亮和縮排

對於文字檔案,Qt Creator提供了一種簡單的方法,來為預設情況下未知的檔案型別,新增高亮和縮排。常規高亮是基於Kate Editor提供的高亮定義檔案。 您可以下載高亮定義檔案,用於Qt Creator,而且也可以建立自己的定義檔案。

  • Generic Highlighting(翻譯)
  • Writing a Syntax Highlighting File

自定義文字編輯器

除上述MIME型別和高亮功能外,如果您需要其他高階功能,例如自定義文字補全或語義分析功能,你可以使用自己的文字編輯器擴充套件Qt Creator。 Qt Creator提供了特殊的API,為你的文字編輯器提供基礎,從根本上消除了實現文字編輯器的痛苦。

  • Creating Plugins(翻譯)
  • Qt Creator Coding Rules(翻譯)
  • Providing Code Assist

其他自定義編輯器

您還可以新增完全自定義的編輯器,徹底掌控其外觀和行為。

  • Creating Plugins(翻譯)
  • Qt Creator Coding Rules(翻譯)

執行外部工具

大多數軟體專案和開發過程都需要各種外部工具。 Qt Creator中集成了一些外部工具,例如流行的版本控制系統和構建工具鏈。 但是,一個工具不可能涵蓋所有用例,因此您可以將其他工具整合到Qt Creator中。

簡單的外部工具

在Qt Creator中,您可以指定工具,然後可以從選單或使用你設定的鍵盤快捷,來執行這些工具。 這使您可以完成某些事情,但有一些限制。 您指定要執行的命令,附加的引數和輸入,以及如何處理輸出。 要指定值,可以使用一組內部Qt Creator變數,例如當前文件或專案的檔名,或文字編輯器中當前選擇的文字。 如果發現缺少變數,請毫不猶豫地填寫功能建議。 工具描述將另存為可以共享的XML檔案。

複雜的外部工具

當您計劃整合更復雜的工具時,請仔細考慮,將工具緊密整合到Qt Creator中,或主要通過提供一種使用適當引數啟動工具的方法來進行鬆散整合,那種更有好處。

鬆散整合工具

如果Qt Creator和外部工具之間不需要互動,啟動外部程式,並使用其自帶使用者介面,會更好。這樣可以避免Qt Creator使用者介面混亂,而且即使完全不使用Qt Creator,該工具也具有良好的介面。

通常,您可以使用外部工具規範檔案來啟動工具。如果啟動該工具,處理其輸出,需要更復雜的邏輯,則可以通過外掛在Qt Creator中新增選單項。如果需要在Qt Creator中配置工具,則可以為其新增選項頁面。

  • Using External Tools(翻譯)
  • External Tool Specification Files(翻譯)
  • Creating Plugins(翻譯)
  • Qt Creator Coding Rules(翻譯)

與工具輸出進行互動

在某些情況下,執行外部工具不需要與Qt Creator緊密整合,但是研究該工具的輸出可能會從中受益。 例如,某些工具在專案的一部分檔案中生成問題列表,而某些工具建立與程式碼相關的輸出。 對於這些工具,在輸出和相應的程式碼之間進行互動切換非常有用。

處理該問題的一種方法是讓該工具建立一個輸出檔案,然後在Qt Creator中開啟該檔案。 您提供了一個用於處理此檔案的編輯器(可能是隻讀的)。 對於問題列表,請考慮建立任務列表檔案,這些檔案顯示在問題輸出窗格中。

  • Showing Task List Files in the Issues Pane(翻譯)
  • Creating Plugins(翻譯)
  • Qt Creator Coding Rules(翻譯)

所有主題

  • 開發Qt Creator外掛
    • Creating Plugins
    • Creating Wizards in Code
  • 參考
    • MIME Type Specification Files
    • External Tool Specification Files
    • Highlight Definition Files
    • Qt Creator Variables
    • User Interface Text Guidelines
    • Writing Documentation
    • Qt Creator Coding Rules
    • Qt Creator API Reference

原創造福大家,共享改變世界

獻出一片愛心,溫暖作者心靈

<