【經驗】Qt項目開發必備工具

2022-02-08 Qt未來工程師

在實際的項目中,除了需要掌握Qt開發框架本身,還需要掌握一些開發工具。這些工具能起到事半功倍的效果,甚至某些工具是開發不可或缺的。下面筆者就介紹一些常用的開發工具的用法及下載地址,希望對缺少實際項目經驗的同學提供一些參考和建議。

1. 文件搜索利器Everything軟體介紹

軟體主頁:https://www.voidtools.com/zh-cn/

引用一下官方介紹:

"Everything" 是 Windows 上一款搜尋引擎,它能夠基於文件名快速定文件和文件夾位置。

"Everything" 僅索引文件和文件夾名,一般僅需幾秒便可建立其資料庫。全新安裝的 Windows 10 (大約 120,000 個文件) 僅需 1 秒即可索引完成。索引 1,000,000 個文件將需要大約 1 分鐘。

為什麼選Everything?因為它功能強大、速度快等等、最主要是免費。

軟體界面如下:

什麼場景下才會使用Everything?忍受不了Windows自帶搜索工具的速度,並想在一秒內找到文件時,你需要Everything;運行軟體找不到動態庫時,直接輸入動態庫名稱即可找到;著急使用文檔,但是只記得部分文檔名稱,忘記存放位置時,輸入部分文件名即可快速找到;不想通過資源管理器一層一層定位文件時,可以用Everything搜索到文件後,直接定位到文件所在位置;支持Web服務:可以從手機或平板上通過瀏覽器訪問它。

總的來說,Everything在日常中使用頻率很高,它確確實實能夠帶來效率的提升。不管是對軟體開發者還是職場人士,都是必備工具。

2. 文本編輯工具Notepad++

這個工具大家可能比較熟悉,它是Windows上Nodepad.exe的高級替代品,文件編輯利器,主要用於文本編輯。

我們知道Windows的Nodepad.exe界面和功能都十分簡單,只能進行簡單的文本編輯。而Nodepad++支持代碼高亮、支持插件、支持編碼轉換、支持高級搜索、甚至支持代碼調試(部分語言),適合用來編寫腳本程序。最主要的特點是免費,可以直接下載使用,官方下載地址:https://notepad-plus.it.softonic.com/。

界面截圖如下:這個軟體也可以說是開發必備,可以滿足多數情況的編輯需求,軟體使用起來也十分簡單,使用頻率很高。

筆者註:Notepad++作者有反華言論,建議大家使用其他軟體。還有很多優秀軟體,比如Notepad2、Notepad3、VSCode等,國人當自強,希望以後會有更多優秀國產軟體問世。

3. 文件比對工具

在多人協作的項目開發模式中,每個人負責開發不同的模塊。在特定開發階段完成後,需要合併多個開發成員的項目代碼。這就需要判斷每個人對文件做了哪些修改,從而合併得到最終的代碼版本。大量的代碼靠人眼比對是不可行的,必須要藉助文件比對工具進行比對。

下面介紹幾種常用的文件比對工具。

Beyond Compare:付費軟體,專業文件和文件夾比較工具,是被廣泛認可和使用的軟體,界面及互動設計上方便易用,功能上也是很完備,是筆者首推的軟體。可以下載試用,或者輸入序列號獲得使用授權。WinMerge:免費軟體,界面設計和功能上都相對於Beyond Compare略遜一籌,但是也能滿足日常使用需求。

限於篇幅,這裡就不一一列舉了,有很多相關軟體,感興趣的話大家可以一一嘗試。

4. 版本管理工具介紹

在使用版本管理工具前,需要了解為什麼做軟體開發需要進行版本管理。前面的文章曾提到過,軟體開發是一個工程系統,並不僅僅指代碼編寫。如何管理好項目中的代碼、資源、配置的版本也是很重要的。軟體是一個不斷迭代的邏輯產品,迭代離不開版本管理。當然完全掌握版本管理是有一定難度的,在此之前,我們首先需要建立起對軟體版本管理的基本認知。用簡單的話來說,就是:

版本就是同一個軟體、資源在不同階段的檔案,檔案是記錄歷史信息的最重要的工具,歷史信息在項目中也會包含巨大的價值,一旦丟失可能造成巨大損失。確定了研究對象,那麼就需要對研究對象進行操作,最基本的需求無非就包括:瀏覽版本內容、比較合併版本差異。其他複雜的功能是圍繞著基本問題展開設計的,弄懂最核心的矛盾才是最重要的。後面會公眾號有版本管理的文章,敬請關注。版本管理工具

GitGit 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的分布式版本控制軟體。Git作者也是Linux作業系統的作者,感興趣的可以深入了解一下。Git只是一個版本管理的工具集,針對Git有很多GUI軟體,旨在簡化Git的使用。最常用的Git UI客戶端這裡建議使用:「TortoiseGit」,小烏龜牌Git,軟體免費,官網可以下載使用,地址:https://tortoisegit.org/。Git目前是主流,需要儘量學會基本操作。

SVNSVN是舊時代的版本管理工具,功能及相對於Git而言不夠強大,但是也是足夠使用的,最好能夠了解。SVN的桌面客戶端用得比較多的是「TortoiseSVN」,小烏龜牌SVN,TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端。官網地址:https://tortoisesvn.net/。SVN原理上和Git不同,SVN需要伺服器,伺服器軟體一般使用「Visual SVN」,也是免費的,官網地址:https://www.visualsvn.com/server/。使用時,需要同時安裝SVN客戶端和SVN伺服器配合使用。

5. Markdown編輯器

做項目時一般需要寫一些篇幅較短的文章,用於記錄或說明一件事情。如果你還在使用文本文件那就太落伍啦!試試用Markdown來寫文章吧,本文即使用Markdown創作。雖然Markdown有一定的學習成本,但是真正使用頻繁的部分並不多,還是要牢記二八學習法則,只有20%的技術在80%的情況下能用到,比較難的技術很少能用到。所以先把20%學會了,就算基本學會了。

Markdown編輯器推薦使用Typora,目前是免費使用的,很好用的Markdown桌面客戶端。

Typora軟體界面:

結語

上面簡單介紹了筆者覺得最常用的做Qt項目開發時的工具,只是眾多工具的冰山一角。

後面有新的有用的開發工具(包括筆者編寫的工具)會及時補充,敬請關注。

相關焦點

  • 軟體特攻隊|VLC-Qt,功能齊全的跨平臺多媒體開發利器
    VLC-Qt是一個免費的開源庫,結合了 Qt 應用程式和 libVLC庫,使他包含了用於媒體播放的核心類,以及用來快速地進行媒體播放器開發的一些 GUI 類。由於集成了整個libVLC庫,使得VLC-Qt在開發一個功能齊全的跨平臺多媒體播放器上,功能異常強大。例如:libVLC 實例和 player、單個文件和列表播放、音頻和視頻控制、元數據管理。
  • 谷歌高效開發的秘密:來自谷歌前員工的軟體開發工具指南
    谷歌前員工正在探索如何在當前組織中使用新開發工具的模式。這一工作的靈感源自於他們使用谷歌開發工具而具備的經驗。當然,一些探索是成功的,也有些折戟沉沙。就此問題,我認為撰寫一份著眼於實操和實用的外部開發工具指南是非常有意義的。能將谷歌的內部開發工具生態系統直接克隆到新公司中,無疑是不少谷歌前員工的願望,但也應切忌好高騖遠。
  • 30個前端開發人員必備的頂級工具
    在本文中,我為前端Web開發人員匯總了30種頂級工具,從代碼編輯器和代碼遊樂場到CSS生成器,JS庫等等
  • 網際網路創業必備工具盤點
    在Teambition上創建一個項目後,可在任務看板裡新建任務組,大家可以在任務組裡添加、跟蹤並推動任務進展。此外,大家還可以在分享牆裡溝通想法,在文件庫裡共享文件,從而從多個方面實現項目的協作管理。 Worktile :Worktile是一個團隊協同辦公工具,通過簡單的協作、溝通和分享,實現團隊交互與任務管理的輕鬆協作。
  • 優秀項目經理必備的五個項目管理工具
    1、工作分解結構(WBS)WBS是一種常用的項目管理工具,是把一個項目,按一定的原則分解,總任務在上方,往下分解為分項目,然後進一步分解為獨立的任務。再把任務分配到每個人的日常活動中,通過把項目分解成能有效安排的組成部分,有助於把工作可視化。WBS以可交付成果為導向對項目要素進行的分組,它歸納和定義了項目的整個工作範圍,每下降一層代表對項目工作的更詳細定義。WBS結構定義和組織項目,也可用來分解任務以外的東西。
  • 利用Python開發App
    app玩玩,無奈對java不夠熟悉,之前也沒有開發app的經驗,因此一直耽擱了。雖然kivy是跨平臺的,但是想要在不同的平臺使用python代碼,還需要將python代碼打包成對應平臺的可執行程序,好在kivy項目下有個打包工具項目–buildozer,這是官方推薦的打包工具,因為相對比較簡單,自動化程度高,其他項目比如:python-for-android也能起到類似的作用,這裡不展開介紹。
  • 利用Python開發App實戰
    (點擊上方公眾號,可快速關注)我很早之前就想開發一款app玩玩,無奈對java不夠熟悉,之前也沒有開發app的經驗,因此一直耽擱了。準備工作利用python開發app需要用到python的一個模塊–kivy,kivy是一個開源的,跨平臺的Python開發框架,用於開發使用創新的應用程式。簡而言之,這是一個python桌面程序開發框架(類似wxpython等模塊),強大的是kivy支持linux、mac、windows、android、ios平臺,這也是為什麼開發app需要用到這個模塊。
  • 傾心傾力之作—《Qt 5.9 C++開發指南》
    作為一個既從事於教學工作,又一直從事軟體開發的教育工作者,深知該如何學習和一個程式語言,也深知該如何由淺入深、通過實例和練習教學生學習一門程式語言。於是,在2016年底正好暫時沒有什麼項目要做,就決定開始寫一本Qt編程的書,將自己的經驗總結為一本書,為學習Qt的同學們提供一本有價值的書。
  • C++遊戲伺服器開發常用工具介紹
    C++遊戲伺服器開發常用工具介紹在軟體開發過程中需要使用的工具類型實屬眾多,從需求建模到軟體測試,從代碼編譯到工程管理,這些工具都對項目有著不可替代的作用
  • 如何利用Python開發App?
    準備工作利用python開發app需要用到python的一個模塊–kivy,kivy是一個開源的,跨平臺的Python開發框架,用於開發使用創新的應用程式。簡而言之,這是一個python桌面程序開發框架(類似wxpython等模塊),強大的是kivy支持linux、mac、windows、android、ios平臺,這也是為什麼開發app需要用到這個模塊。
  • 給「窮人」的視覺開發工具
    中國CG視覺開發者社群直播第2期於7月11日進行,本期直播由中國電影美術學會CG藝術專委會常務副主任鄧宇老師與社群會員們一起交流「給『窮人』的視覺開發工具」,更多精彩內容掃碼加入中國CG視覺開發者社群觀看直播回放。
  • 分享:常規遊戲項目開發流程
    不應該深入的部分:在籌備階段,容易陷入頭腦風暴,所以我們不應該深入討論產品的開發過程、開發工具、開發人員。對於產品的細節,也不宜過細,但應該找出一些簡單明確的概念來代替,如「經過XX修改的競品A」這樣就很好。團隊缺人對策招聘渠道:首選熟人朋友圈,其次畢業生和培訓機構,最後是網上投遞簡歷。
  • 盤點淘寶電商必備的軟體工具「乾貨」
    維格表VIKA維格表(vika.cn)是電商人人必備的管理軟體,輕量級的電商數據工作檯。強大的資料庫結構和多維視圖功能,能夠清晰的記錄和管理全部的推廣渠道和素材;實時協作讓每 次的項目推動更加高效順暢。找貨神奇找貨神器是1688官方推出的一款具有找貨極致體驗的瀏覽器插件:淘貨源插件!
  • 如何在Visual Studio開發工具安裝python庫
    工具Visual Studio 2019python環境pip工具>技術pythonDjango在python語言開發工具的pycharm中,可以安裝第三方庫。那麼,在Visual Studio開發工具中,如何安裝python第三方庫呢?
  • STM32開發環境(工具)之Keil MDK 介紹
    STM32微處理器基於ARM核,所以很多基於ARM嵌入式開發環境都可用於STM32開發平臺。開發工具都可用於STM32開發。選擇合適的開發環境可以加快開發進度,節省開發成本。
  • 深度:從副項目到9億美元估值,項目協作工具Asana是如何做到的?
    所以Asana團隊做了一件非常困難的事情,他們開發了一款任何公司裡的任何人都可以使用而且喜歡使用的工具。他們通過專注於兩件主要的事情來做到這一點的:(1)他們有意地只圍繞項目管理來管理產品的邊界。(2)他們致力於開發一款面向廣泛的用戶群的最好用的項目管理工具。
  • 如何使用Visual Studio工具創建python項目
    工具Visual Studio 2019python環境技術python一般情況下,我們使用Visual Studio進行C#、C++和C語言項目進行開發。隨著工具不斷完善,現在也可以進行python項目開發了。那麼,如何在Visual Studio 2019工具上創建python項目?
  • 柚子媽說烘焙入門:必備工具篇
    (2) 日常家用廚具(例如鍋、碗、瓢、盆等)不在此列。==========柚子媽的黑歷史==========柚子媽與烘焙的第一次親密接觸,源於十多年前參加的中法本科生交換項目(好像暴露了年齡……)。完全沒考慮過功能的差別,反正從小到大寵孩子的柚子外公和外婆就沒讓柚子媽碰過微波爐(主要是那時候微波爐也貴、還傳說有輻射)……於是,為了讓這烤箱不白買,柚子媽又置辦了各種烘焙工具,開啟了轟隆隆的DIY自學之路……(話說,熟悉柚子媽的童鞋都知道,柚子媽手機輸入法一直用筆畫,這也是因為柚子媽擁有第一部手機時,不、會、切、換、輸、入、法!
  • 最新ARM Development Studio開發工具介紹及各版本區別
    本文引用地址:http://www.eepw.com.cn/article/202004/411604.htm深圳市米爾科技有限公司是ARM公司官方授權全線工具產品代理商, 提供ARM公司原裝正版開發工具(包括本產品ADS)的銷售服務,以及ARM工具產品的市場推廣、產品更新、技術支持和售後服務,ARM ADS的歷史版本有 ADT、ADS 、RVDS和DS-5。
  • 單片機開發經驗看這裡很有頭腦很牛逼
    做AT89C5X(51,52,55等等)的時間最長,知道的可能多些,主要談些實際應用中的經驗與教訓。書可以參看北航出的一本專門講AT89系列的,還不錯,建議大家購買。AT89C51我認為是一個非常標準的51單片機了,4個P口,1個串口,RAM只有標準的128Byte,Flash也只有4K,功能還算齊全,我就以它為基礎,所以開發過程中遇到的問題吧。