回覆列表
  • 1 # 騰訊技術工程
    一、這就是CLion

    幾年前寫過一篇eclipse C++的文章、現在還提eclipse的話人民群眾會仇恨我,我的朋友和家人也會嘲笑我,唾棄我。因為JetBrains家的系列產品CLion體驗耍eclipse好幾條街。引用知乎網友對CLion和vim/emacs的形象比喻,如圖所示:

    從圖中可以看出CLion的定位是一個完整的現代化C++工具,包含很多實用的功能,而vim則是輕巧鋒利,如果你在CLion上用Vim,那就是拿著刀的機器人。這能量你懂的。

    二、起飛前的前奏

    根據上次給大家講解騰訊特有的windows開發模式,如下圖所示:

    Windows上的環境需要準備煉丹爐:CLion安裝、cygwin、jce release的檔案、taf原始碼(開源的tars c++)。

    CLion:

    2)授權:第一次開啟提示授權、支援大家購買正版、有edu的email可以申請免費使用。

    3)啟動引數:由於CLion是java開發的,相對比較耗記憶體,建議設定最大記憶體為5120M,具體的設定在C:\Program Files\JetBrains\CLion 2019.1\bin目錄下的clion64.exe.vmoptions檔案,把第三行-Xmx2000m改為-Xmx5120m,同時開啟的專案比較多的同學建議再設定大一些,畢竟我們的開發機有16G任性。

    如果你的機器有16G記憶體,建議配置檔案修改如下:

    -Xmx8192m

    Cygwin:

    1)安裝:複製cygwin64.zip到c盤解壓,解壓完的目錄如下:

    2) Path設定:為了在cmd命令下可以用到linux上常用的grep,find等命令,在環境變數path中加入C:\cygwin64\bin

    3)配置遠端JCE(開源版本是tars)依賴檔案到本地磁碟

    透過samba對映遠端開發機的tafjce(開源tars的目錄是tars)到Z盤

    字型:Windows推薦kotlin之父,JetBrains公司CEO推薦的字型Lucida Sans Typewriter,在軟體目錄下找到lucida字型資料夾,然後雙擊目錄下的所有檔案進行安裝。

    CLion配置:

    1)複製config.zip檔案到C:\Users\yourname\.CLion2019.1下

    2)解壓config.zip,解壓的目錄如下,注意解壓後的config目錄下是配置檔案,不是config目錄->config目錄->配置檔案

    這個配置的作用是集成了:瀏覽器C++開發手冊的程式設計規約、jce editor、m50pxake等一系列開源的外掛和作者實現的外掛。如果只是單純的程式碼風格,只需要複製這個下的codestyles目錄覆蓋即可。

    Vim配置:

    1)如果你想把機器人和武士刀合體,嘗試下合體後的新力量。

    2)複製.ideavimrc檔案到C:\Users\yourname的根目錄,看不到這個檔案的話需要把隱藏檔案開啟

    TAF(tars)支援:

    1)複製taf.zip檔案到D:\Codes\C++\目錄下解壓

    mysql支援:

    1)複製mysql.zip檔案到D:\Codes\C++\目錄下解壓

    三、起飛

    開啟CLion。然後可以透過svn、git或者本地檔案引入一個C++服務,這裡切忌不要引入一個具有多個服務的目錄,一個專案一個服務。

    從svn拉取專案:

    1)確保本地的svn安裝的時候安裝了命令列工具

    2)選單->VCS->Checkout from Version Control->Subversion,然後選擇一個服務checkout

    3) Checkout完成後選擇OK開啟專案

    4)為了把專案中的專案檔案在提交svn的時候進行排除,需要配置svn的global-ignores配置

    修改檔案:C:\Users\yourname\AppData\Roaming\Subversion\config

    開啟global-ignores配置,配置如下:

    global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db *.iml CMakeLists.txt cmake-build-debug

    .idea

    自動部署:

    把本地的服務目錄檔案自動同步到目標開發編譯的samba目錄

    1) 配置目標同步目錄:Files->Settings->Other Settings->Quickly Sync Deployment

    配置需要同步到自己的開發編譯機器的目錄,請把allsochen改成你的名字路徑。

    2)透過選單Tools->Quickly Sync Deployment進行快速同步部署

    3)確認部署:Tools->Deployment->Configuration->OK

    一定要執行這一步,第二部的外掛有bug,第一次配置會導致不生效,還沒有空改外掛。

    4)第一次全量同步:第一次全量同步需要手動觸發、否則只會同步更新的檔案,檔案選單->右鍵->Deployment->Upload to XXX

    Cmake:

    1)透過m50pxake外掛把專案相關的依賴複製到本地,具體配置如下

    {

    "cmake_version": "3.1",

    "includes": [

    "D:/Codes/C++/taf/include",

    "D:/Codes/C++/taf/src",

    "D:/Codes/C++/mysql/include/mysql"

    ],

    "dir_mappings": {

    "/home/tafjce": "D:/Codes/tafjce"

    },

    "automatic_reload_c_make": true,

    "tafjce_remote_dirs": [

    "Y:/tafjce",

    "Z:/tafjce"

    ],

    "tafjce_local_dir": "D:/Codes/tafjce"

    }

    具體含義:

    tafjce_remote_dirs:samba對映的遠端tafjce目錄

    tafjce_local_dir:把遠端tafjce依賴同步到本地的tafjce目錄

    使用外掛同步服務依賴:選中專案跟目錄,右鍵選單->TAF Dependence Recurse Synchronize…

    2)透過m50pxake外掛把taf的makefile相關檔案生成CMakeList.txt檔案。選中專案跟目錄,右鍵選單->Transfer TAF makefile to CMakeList.txt…

    3)構建專案:檔案選單->選中專案跟目錄->右鍵選單->Reload Cmake Project,也可以透過快捷鍵Alt+K,Alt+M進行構建

    構建完成後,嘗試下TAF框架的智慧提示和JCE依賴的智慧提示,確認下是否生效。

    四、神秘的力量

    1) Live Tempalte

    LiveTempalte是模板程式碼的抽象,可以快速生成帶有變數的程式碼模板。比如在開啟的cpp編輯器中使用forv,然後按下tab鍵,就會自動生成一個模板for迴圈一個vector的模板。預設配置裡配置了我常用的模板,比如ns,iterm等,可以從File->Settings->Editor->Live Tempaltes中可以看到已經配置的模板。

    2) 常用快捷鍵:Help->Keymap reference

    JetBrains的CEO說他們的開發工具是不需要用到滑鼠的

    這裡列舉幾個常用的:

    Shift+Ctrl+N:開啟檔案

    Ctrl+E:開啟最近的檔案

    Ctrl+F12:列舉出檔案的函式,可以輸入字母匹配搜尋

    Ctrl+Q:變數、函式等的說明文件

    Ctrl+W:擴充套件選擇

    Ctrl+Shift+N:最後編輯點

    Shift+F6:重構命名

    Alt+Shift+方向上、下:程式碼移動

    Ctrl+Alt+方向左、右:瀏覽程式碼的前進、後退軌跡

    Shift+Enter:以新視窗開啟

    Ctrl+G:去到指定的行,也可以用vim的:指定行

    Ctrl+Alt+L:格式化程式碼,可能會跟QQ、QQ音樂,網易雲音樂的快捷鍵衝突,需要關掉這些軟體的快捷鍵

    Ctrl+;或者Ctrl+Alt+V:開啟關閉vim外掛

    Ctrl+/:註釋行

    Alt+/:buffer內容補全

    Alt+P:顯示函式引數簽名

    Ctrl+ALT+Home:h檔案和cpp檔案切換

    Ctrl+B:實現跳轉

    Ctrl+Space:智慧提示,一般這個會被系統輸入法佔用,具體配置網上查下。

    更多的需要自己去搜索,只要你用到滑鼠的地方,都有一個快捷鍵適合你。

    3) Frame Switch外掛

    在不同的專案中切換視窗,支援搜尋匹配,快捷鍵Alt+F2

    4) M50pxake外掛

    自動把taf的makefile生成CMakeList.txt檔案

    https://github.com/Allsochen/clion-m50pxake

    5) QuicklySyncDeployment

    自動把專案檔案部署複製到開發機

    https://github.com/Allsochen/clion-m50pxake

    6) Jce Editor外掛

    Jce檔案格式化、檔案跳轉、定義跳轉、語法提示等,格式化Alt+Ctrl+L

    7) vim外掛

    開啟關閉vim的功能:Ctrl+;或者Ctrl+Alt+V

    常用快捷鍵:

    Ctrl+O:瀏覽歷史路徑回退

    Ctrl+I:瀏覽歷史路徑前進

    Ctrl+N:選擇方向向下

    Ctrl+P:選擇方向向上

    8) KJump

    KJump是一個能跳轉到頁面任何地方的外掛,類似於vim的easy-motion功能。需要啟用vim功能,非vim功能請檢視KJump預設的快捷鍵。

    ,,w:首字母模式,螢幕內游標定位

    ,,s:字元搜尋模式,再按需要搜尋的字母:螢幕搜尋字母

    ,,l:行模式,去到指定的行

  • 中秋節和大豐收的關聯?
  • 美的全直流變頻空調藍絲月製冷效果不好是怎麼回事啊?