場景
1.Sublime Text 3
作爲老牌的編輯器性能和穩定性還是很不錯的. 它一般只啓動了單進程, 不像vscode
那樣啓動一個簡單的項目全部進程加起來基本上都要300M
的內存使用量. 如果只是想快速輕便驗證C++
程序,它還是比vscode
方便和快速的.
2.Sublime Text 3
需要購買註冊, 但是也可以不註冊,不註冊它就是偶爾會彈出窗口提醒你註冊,關掉可以繼續使用.
安裝Sublime Text 3
說明
1.Sublime Text 3
的C++
支持官方只有語法高亮支持,沒了!它也有項目單獨的編譯運行配置,也有全局的編譯運行配置。項目配置不是必須的,可以通過菜單->Project->Save Project As...
來保存當前所有打開的文件和文件夾作爲配置項,配置項裏也可以添加構建配置,和全局的基本一樣.詳細的說明點這裏.
項目文件例子.sublime-project. 配置好的可以在Tools->Build System
裏找到構建名字.name
{
"folders":
[
{
"path": "."
},
{
"path": "E:\\Project\\Company\\73.wtl-project"
}
],
"build_systems":
[
{
"name":"make-cygwin-test",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\test\\cygwin","-f", "${project_path}\\test\\cygwin\\Makefile","CONF=Debug"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path}\\test\\cygwin",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${project_path}\\test\\cygwin\\dist\\Debug\\app.exe","--gtest_filter=test_ScanPartition.TestWindowsFileRecovery"]
},
{
"name": "Clean",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\test\\cygwin","-f", "${project_path}\\test\\cygwin\\Makefile","CONF=Debug","clean"]
}
]
},
{
"name":"make-cygwin",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\cygwin","-f", "${project_path}\\cygwin\\Makefile","CONF=Debug"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${project_path}\\cygwin",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${project_path}\\cygwin\\dist\\Debug\\app.exe"]
},
{
"name": "Clean",
"cmd": ["E:/software/cygwin64/bin/make.exe","-C","${project_path}\\cygwin","-f", "${project_path}\\cygwin\\Makefile","CONF=Debug","clean"]
}
]
}
]
}
2.其實Sublime Text 3
開發C/C++
就只是缺少頭文件跳轉和gdb
集成, 如果這個集成了, 未必不如vscode
.
Cygwin C/C++開發編譯運行配置
1.選擇菜單->Preferences->Browse Packages...
打開了配置目錄,進入User
,新建一個g++.sublime-build
文件.
增加以下內容,cmd
就是運行的命令,env
設置編譯後可執行文件的運行搜索目錄, 比如有對c++
的dll依賴,需要把E:/software/cygwin64/bin
加入配置。當然也可以在系統環境變量path
添加這個路徑,但是會污染運行環境,不推薦這樣做。-std=c++11
是對C++11
的支持, 當然這個也就是g++
的編譯參數,關於c++11
我開了一個學院課程, 發佈完後歡迎來學習C++11語言特性和標準庫.variants
是增加另外的任務,比如以下增加了運行任務, 在按ctrl+shift+b
時會讓你選擇g++
或者g++ - Run
任務執行.
{
"cmd": ["E:/software/cygwin64/bin/g++.exe","-std=c++11", "${file}", "-o", "${file_path}/build/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"env":
{
"PATH": "E:/software/cygwin64/bin"
},
"variants":
[
{
"name": "Run",
"cmd": ["${file_path}/build/${file_base_name}"]
}
]
}
2.編輯好g++.sublime-build
之後,我們需要在需要編譯的.cpp
文件目錄新建一個build
目錄, 以便放編譯輸出. 如果需要放項目目錄,那麼可以把項目目錄拖放到OPEN FILES
窗口裏。如果沒有顯示OPEN FILES
窗口,可以通過菜單View->Side Bar->Show Open Files
.
3.選擇菜單Tools->Build System->g++
, 會應用上我們設置好的編譯配置. 首頁打開test.cpp
文件, 之後按ctrl+shift+b
,選擇彈出的g++
,那麼就會編譯. 在以下的輸出窗口會顯示編譯結果。
編譯錯誤:
選擇g++ - Run
就會運行, 在以下的輸出窗口會顯示輸出, 也可通過點擊左下角的小窗口,選擇Build Result
重新顯示輸出窗口。
3.調試的只能進入gdb
環境裏,我在當前項目建了一個批處理:
cmd-gdb-debug.bat
cmd /K "set path=%path%;E:\software\cygwin64\bin; & gdb --version"
之後建一個批處理gdb-init-command.bat
來進行加載斷點配置文件和運行指定目錄下的exe.當然這個批處理要在cmd-gdb-debug.bat
打開的命令行裏運行纔可以。調試只能通過原始的輸入gdb
命令調試了。關於gdb
調試可以看命令行使用gdb調試程序簡單應用.
gdb --command=breakpoint.txt --args dist/Debug/app.exe
其他
1.爲了方便開發,我添加了一些自定義快捷鍵。在菜單Preferences->Key Bindings
,在右邊的User
配置項裏添加以下的配置,特別好用的就是ctrl+shift+r
可以在項目裏跳轉到指定的函數.alt+/
自動完成.ctrl+d
刪除行.ctrl+shift+f
重新縮進,簡單版的格式化代碼。
[
{ "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+shift+r"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+f"], "command": "reindent"},
{ "keys": ["alt+/"], "command": "auto_complete" },
{ "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" }
]
2.至於多個文件的項目編譯,只能通過makefile
來配置編譯,關於makefile
的配置,可以看 通用Makefile配置編譯選項. 更完整的通過分析頭文件是否更新來編譯查看從netbeans裏提取的通用構建C++項目的Makefile文件.