Sublime Text3 C/C++一鍵調試運行(可讀取cin和scanf且中文無亂碼)
- 2019 年 11 月 8 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_42449444/article/details/85146975
寫在前面:
可以說對Sublime Text3是真愛了,我最愛的程式碼編輯器,沒有之一。CSDN上不少前輩都寫過如何在Sublime Text3中編譯調試運行程式碼,根據他們的部落格,我成功設置好了Python在Sublime Text下的編譯運行,但是C/C++的我找到了十多篇部落格才設置成功(因為我發現裡面就兩篇部落格真正實用)。所以我想總結一下,自己寫一篇關於在Sublime Text3中編譯運行C/C++的部落格。
參考部落格:
①怎麼讓sublime text3可以運行c/c++ (來源:constantine___)。
我發現我按①設置好了後,不能讀取cin和scanf的輸入。
②sublime text 3+minGW 無法讀取cin,使用命令行cmd成功運行(來源作者:食野之苹)。
我發現我按②設置好了後,程式出現了中文亂碼。
Sublime Text的特點:
①Sublime Text 是一款跨平台程式碼編輯器,在Linux、OS X和Windows下均可使用。
②Sublime Text佔用記憶體小、運行速度快,介面還十分簡潔美觀。
③Sublime Text可以多行編輯、多重選擇、多屏顯示,提高編程效率。
④Sublime Text 是可自由擴展的,它包含大量實用插件,我們可以通過安裝自己領域的插件來成倍提高工作效率。
minGW的系統環境配置:
使用的C/C++編譯器是minGW,點此進入官網鏈接,下載後需要在線安裝,安裝後需要將安裝目錄下的bin目錄所在路徑加入path環境變數。本菜雞的電腦里安裝了CodeBlocks,在CodeBlocks的安裝目錄下有MinGW,所以可以直接將其bin目錄所在路徑D:CodeBlocksMinGWbin複製。
用滑鼠右鍵點擊此電腦,選中屬性,然後選擇高級系統設置,再選擇環境變數。
在環境變數中找到Path系統變數,選中後點擊編輯。
選擇新建,然後Ctrl+v把複製的MinGW的bin路徑粘貼,再一直點確定就行了。
用Win+R來運行cmd,輸入g++或g++ -v,出現以下介面說明MinGW配置成功。
在Sublime Text3內部編譯運行程式碼:
編輯一段程式碼輸出經典語句"Hello,world."和「你好,世界。」 Ctrl+Shift+b選中C++ Single File -Run即可在ST3內部對這段程式碼進行編譯運行。程式運行結束後顯示[Finished in 時間]。
如果程式碼有bug的話,Sublime Text3也可以進行報錯。
這一切看上去都非常讓人激動。然而!問題來了,用以上方法並不能讀取cin和scanf。要是在"請輸入一個數:"後輸入一個數字,Sublime Text3不會有任何反應,並且在你重新Ctrl+b編譯運行的時候會報錯,因為該程式碼已經在編譯運行了。
Sublime Text3調用cmd編譯運行:
如何解決Sublime Text3無法cin、scanf的問題呢?
在菜單欄選中Tools,然後選擇Build System,再選擇New Build System…,在新打開的文件中添加以下內容:
{ "cmd": ["g++", "${file}", "-fexec-charset=gbk", "-o", "${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "variants": [ { "name": "Run", "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"] } ] }
———————————————2019.08.13更新————————————————————
Linux環境下要這樣配置
{ "cmd" : ["g++", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector" : "source.c, source.c++", "shell":false, "working_dir" : "$file_path", "variants": [ { "name": "Run", "cmd": ["gnome-terminal", "-e", "bash -c "g++ '${file}' -o '${file_path}/${file_base_name}' -lm -Wall && '${file_path}/${file_base_name}' ; read -p 'nPress any key to continue...'""] } ] }
——————————————————————————————————————————
Ctrl+s保存在這個默認路徑下,重命名為C.sublime-build。
然後返回剛剛那段程式碼,Ctrl+Shift+b選擇C -Run,編譯後可以調用cmd運行,介面如下:
震驚!!為啥會出現中文亂碼呢?我就奇了個怪啦。
不要慌!問題不大!設置文件編碼為GBK格式後再輸入文字,程式運行時中文就不再是亂碼了。Ctrl+Shift+p打開命令框,輸入"install",選中第一個敲回車。
你會發現命令框消失了,過一會兒會出現一個新的命令框,在新的命令框中輸入"ConvertToUTF8"敲下回車即可進行安裝。
安裝ConvertToUTF8成功後在菜單欄選中File,然後選中Reload encoding with,選擇Chinese Simplified(GBK)。然後重新Ctrl+b調試運行,噔噔噔噔!
如果沒有在Sublime Text中安裝Package Control的話,這裡有個安裝方法:
通過https://sublime.wbond.net/Package%20Control.sublime-package來下載packageControl文件。下載完成後,打開sublime text3,選擇菜單Preferences->Browse Packages, 打開安裝目錄,此時會進入到一個叫做Packages的目錄下,點擊進入上一層目錄Sublime Text3,在此目錄下有一個文件夾叫做Installed Packages,把剛才下載的文件放到這裡就可以了。然後重啟sublime text3,觀察Preferences菜單最下邊是否有Package Settings 和Package Control兩個選項,如果有,則代表安裝成功了。此時使用快捷鍵Ctrl+Shift+P,輸入install,選擇install package,接下來從裡面搜索插件的名字即可。
Sublime Text3添加快捷鍵:
如何像Codeblocks一樣按下F8後即可對程式碼進行編譯運行呢?在菜單欄選中Preferences,然後再選中Key Bindings。
在新出現的介面中輸入一行內容(我是把F8設置為快捷鍵的):
{ "keys": ["f8"], "command": "build", "args": {"variant": "Run"} }
輸入完成後按下Ctrl+s保存即可。
對了,還沒有破解呢(原諒我的貧窮,希望有能力的兄弟還是購買正版),破解請戳鏈接sublime text3 破解方法,親測有效
打開sublime text ,選擇help–>enter license,將下面的內容複製到輸入框中:
----- BEGIN LICENSE ----- sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D53F 115F202E 7B91AB2D 0D2A40ED 352B269B 76E84F0B CD69BFC7 59F2DFEF E267328F 215652A3 E88F9D8F 4C38E3BA 5B2DAAE4 969624E7 DC9CD4D5 717FB40C 1B9738CF 20B3C4F1 E917B5B3 87C38D9C ACCE7DD8 5F7EF854 86B9743C FADC04AA FB0DA5C0 F913BE58 42FEA319 F954EFDD AE881E0B ------ END LICENSE ------