方案: visual gdb + vs2012 + visaul assist x
windows 轉 linux?平臺,習慣了 ide,vim + gdb + gcc 用起來非常不爽,用過跨平臺的 codeblocks,感覺 linux 要裝好 codeblocks 編譯環境,實在太難了。
visualgdb (VG)無疑是一大利器。用熟悉的 vs 系列。建好工程,配置好 visualgdb project properties 映射,就能工作了。
配置遇到最大的問題,不知道哪個才是 visualgdb 指定的當前目錄,相對路徑就不好設置。VG 配置好后,會在當前目錄生成 makfile 文件,makfile ?文件所在的目錄就是當前目錄。當前目錄改變的文件(可根據后綴名過濾)都會在編譯的時候 windows <---->linux 通過 ssh 同步,所以你的源碼 include 和 src 文件夾最好在 makefile 所在的目錄。
注意:VG 會自動生成 makefile,但是很多同學比較喜歡自己寫 makefile 的,所以 Files to transfer 就要設置要同步的文件類型。避免VG自動生成的 makefile 文件覆蓋遠端的。
跨平臺新建文件問題:
還有一點要注意的,在 windows 平臺新創建的源碼文件,最好是 utf8 編碼的~~ 這是個坑。
visual studio 新建C++文件為 UTF8 文件解決方案
utf8 編碼問題也可以參考我的帖子:跨平臺編碼問題
VA 高亮問題:
VA 能使代碼高亮,但如果單獨的模塊,VA 沒那么智能的,還需要在 Makefile settings 配置依賴源碼的路徑:
VG 版本沖突問題:
VisualGDB 5.0 以及其它高版本?會與 visual assist x 沖突,
這個版本不會沖突:VisualGDB-4.2r4.zip (CSDN 下載資源)
官網下的?VisualGDB-5.1r6-trial.msi 也有破解版,安裝后代碼可以選擇 vax 或者 vgdb 渲染,但還是時好時壞。
通過谷歌,找到一個帖子是通過修改 VG 的注冊表信息避免沖突的,但是我自己找不到這個注冊表項。
You can also disable the Clang IntelliSense globally by setting HKCU\Software\Sysprogs\VisualGDB\Settings\CppLanguageServiceSupport to 0.
有網友(進擊的二把刀)反饋下面解決沖突的辦法,小伙伴們可以試一下,本人老版本能用所以暫時不折騰了。謝謝熱心的網友。
可以在工具,選項,VisualGDB選項卡中,設置Enable Clang IntelliSense by default 為false。
另外首次打開工程時,如果沒有VA提醒,可以打開VisualGDB的工程設置,然后點擊目錄的測試“File synchronizetion-----test”就好了。4.2沒有cmake功能,實在不方便,我現在用的是5.0一切正常(VA是當前最新的版本)
VisualGDB 5.02 bata4 的已經不用每次都點“File synchronizetion-----test”了,有一次設置完了后,下次打開都正常。另外還有個地方增加了開關:VisualGDB Project Properties -> Project settings -> IntelliSense Setting。把這里的設置都關掉就完美兼容VA了。
參考過的帖子(轉載):
使用VS+VisualGDB編譯調試Linux程序
http://www.linuxidc.com/Linux/2015-02/112844.htm
更精彩內容,請關注我的博客:https://wenfh2020.com