使用Sublime Text當作python的編輯環境寫程式。
寫好,按下Ctrl+B,可以看見結果,相當的方便。
但是,有一天Build完,看不到結果?
把code改成print("---"),也沒有用,連這條線都不出現了?!
是Sublime Text發生了什麼問題嗎??還是怎麼了呢?
結果,是xxx.py檔,放在中文路徑之下[1]造成的!囧~
參考資料:
[1] 有哪位兄台用sublime text 编译过 python代码的?
用Sublime Text練習python
先前,介紹過用g++和make可以直接在Sublime Text進行編譯、執行(不包含輸入行為)C++的code。
今天,來說說,如何執行python
不過,由於Sublime Text本身是由python而撰寫的,所以可以說這昧內建功能,只是怎麼使用呢?
先說一下,再也不用「IDLE開新檔案→打code→存檔→cmd執行」才能看見結果了!超棒的吧!^^
依下列步驟進行就知道怎麼回事了!
今天,來說說,如何執行python
不過,由於Sublime Text本身是由python而撰寫的,所以可以說這昧內建功能,只是怎麼使用呢?
先說一下,再也不用「IDLE開新檔案→打code→存檔→cmd執行」才能看見結果了!超棒的吧!^^
依下列步驟進行就知道怎麼回事了!
- 在Sublime Text中開新檔案
- 打python的code、存檔
- 在Sublime Text功能列找「Tool→Build System→Python」
- 就可以按下「Ctrl+B」或在Sublime Text功能列找「Tool→Build」
就可以在下方看見執行結果了!
用Sublime Text寫git的commit 內容(也就是之後要呈現在log的文字)
要注意安裝的版本和路徑。
因為我使用的是Sublime Text 2,所以指令如下
在 bash 輸入這一行
參考資料:
[1] Git config core.editor — how to make sublime text the default editor for git on Windows
因為我使用的是Sublime Text 2,所以指令如下
在 bash 輸入這一行
git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"
[1]參考資料:
[1] Git config core.editor — how to make sublime text the default editor for git on Windows
按Enter,自動縮排
Preferences->Settings-Default
可以找到這個
// Calculates indentation automatically when pressing enter
"auto_indent": true,
true: 按Enter,自動縮排
false: 按Enter,到新的一行最前面
可以找到這個
// Calculates indentation automatically when pressing enter
"auto_indent": true,
true: 按Enter,自動縮排
false: 按Enter,到新的一行最前面
Sublime text 2之好用的摺code 功能
其實,用久了Visual Stuio就會想摺code
把程式碼摺起來,多棒呀!
在Sublime text 2 中也有一樣的功能唷!
前兩個
記下這兩個快速鍵。
把程式碼摺起來,多棒呀!
在Sublime text 2 中也有一樣的功能唷!
- Edit->Code Folding
前兩個
- Fold Ctrl+Shift+[
- Unfold Ctrl+Shift+]
記下這兩個快速鍵。
修改sublime text 2的字型
修改字型文章,快要可以出系列文了!XDD
一樣,也是為了寫程式的環境,為了讓心愛的Monaco字型出現在Sublime text2上面,而寫的一篇文章(其實真正的原因是別的)
好吧,為了文章的篇幅,我們來說說真正的原因吧。XDD
今天,一開機心中就浮現了微軟對自己過去舊愛(Windows XP)說的壞話,什麼不安全、漏洞、危險、愈來愈不行,今天的「開始功能表」,還是我自己叫出來的,方法如下:
但是,也是因為我對windows的了解,才觸碰得到windows的內心深處的問題,就像和姐姐或妹妹相處一樣難以捉摸,就算你和他大吵了一架,知道什麼情況他會爆發,但是真正的原因如果你沒有從他口中得知,大概就像生命一樣,是一場追尋了,別想找到答案了。
好了!現在windows已經就緒,準備好工作的心情,打開了Visual Studio這個瘦身版的小胖子(Express版),發現上次的程式碼出現了一點問題,就打開計算機上實現愛因斯坦相對論的Git穿梭時空,把有問題的程式碼修好,正準備要開始檢查下一段新進度時,Sublime text 2出問題了。
這種情況,就像是寫程式的馬克42,這一瞬間能源不足,只能走路不能飛一樣,問題描述就像下圖。
我在sublime text 2上打了「測試文字」卻出現了方塊裝著問號的符號,在Google上面搜尋了很多的解決方法,去下載Convert2UTF8[1]、到 Sublime Text 2 選單的 Perferences → Settings – User修改 "font_options": ["directwrite"] [2],通通沒有用。
最後重開機,一切解決。XDDD
故事講完了,我們來講講在這過程中的收獲,那就為Sublime text 2換字型的方法。
快來試試看吧!
參考資料:
[1] 如何解決 Sublime Text 的中文亂碼?
[2] 在 Sublime Text 2 設定 Inconsolata 字型
一樣,也是為了寫程式的環境,為了讓心愛的Monaco字型出現在Sublime text2上面,而寫的一篇文章(其實真正的原因是別的)
好吧,為了文章的篇幅,我們來說說真正的原因吧。XDD
今天,一開機心中就浮現了微軟對自己過去舊愛(Windows XP)說的壞話,什麼不安全、漏洞、危險、愈來愈不行,今天的「開始功能表」,還是我自己叫出來的,方法如下:
- 按下ctrl+alt+del,叫出「工作管理員」
- 找「檔案->新工作(執行...)」
- 輸入explorer
但是,也是因為我對windows的了解,才觸碰得到windows的內心深處的問題,就像和姐姐或妹妹相處一樣難以捉摸,就算你和他大吵了一架,知道什麼情況他會爆發,但是真正的原因如果你沒有從他口中得知,大概就像生命一樣,是一場追尋了,別想找到答案了。
好了!現在windows已經就緒,準備好工作的心情,打開了Visual Studio這個瘦身版的小胖子(Express版),發現上次的程式碼出現了一點問題,就打開計算機上實現愛因斯坦相對論的Git穿梭時空,把有問題的程式碼修好,正準備要開始檢查下一段新進度時,Sublime text 2出問題了。
這種情況,就像是寫程式的馬克42,這一瞬間能源不足,只能走路不能飛一樣,問題描述就像下圖。
我在sublime text 2上打了「測試文字」卻出現了方塊裝著問號的符號,在Google上面搜尋了很多的解決方法,去下載Convert2UTF8[1]、到 Sublime Text 2 選單的 Perferences → Settings – User修改 "font_options": ["directwrite"] [2],通通沒有用。
最後重開機,一切解決。XDDD
故事講完了,我們來講講在這過程中的收獲,那就為Sublime text 2換字型的方法。
- 到 Sublime Text 2 選單
- Perferences → Settings – User
- 增加以下的程式碼
"font_face": "Monaco", "font_options": [ "directwrite" ], "font_size": 14.0,
- 存檔,字型馬上就會改變囉!^^
快來試試看吧!
參考資料:
[1] 如何解決 Sublime Text 的中文亂碼?
[2] 在 Sublime Text 2 設定 Inconsolata 字型
神乎其技的....snippet
sublime text 2 有提供一種叫snippet的功能。
簡單的說就是它幫你生成程式碼,你type進一些關鍵字,他creat出整個程式架構。
也可以說是半自動產生程式的工具。
(這不就是寫程式幫你寫程式的一開始嗎?)
第一步,先在sublime text 2 -> Tool -> New Snippet,出現了一個檔案
來試試看
路徑...我是用預設啦!
不必重新開啟sublime text2
直接試試看
1: (:前的數字) 設定順序(用tab鍵切換)
:name (:後的文字) 設定預設名稱
最後,我做出了一個,在設計class時,就會自動加上條件編譯的#ifndef-#endif的snippet
簡單的說就是它幫你生成程式碼,你type進一些關鍵字,他creat出整個程式架構。
也可以說是半自動產生程式的工具。
(這不就是寫程式幫你寫程式的一開始嗎?)
來說說這是怎麼設定的吧!^^
第一步,先在sublime text 2 -> Tool -> New Snippet,出現了一個檔案
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
這段程式碼,分成三個部份
<content><![CDATA[ Hello, ${1:this} is a ${2:snippet}. ]]></content>
和註解中的<tabTrigger>hello</tabTrigger>
<scope>source.python</scope>
第一個部份
定義最後生成的code第二個部份
定義要打的關鍵字第三個部份
定義此code是屬於什麼語法來試試看
<snippet>
<content><![CDATA[
#ifndef NAME_H
#define NAME_H
class name
{
public:
name(para);
protected:
virtual ~name();
private:
/* data */
};
#endif
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>aaaaa</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.c++</scope>
</snippet>
改好了之後
存檔成*.sublime-snippet
存檔名稱,會成為這個部份路徑...我是用預設啦!
不必重新開啟sublime text2
直接試試看
另外,設定變數的部份
sublime text2提供了在程式碼生成時,可以再設定這個程式架構的各個變數,因為畢竟整個架構中,也許誰和誰的名稱要相同。變數
例如:${1:name}
${} 變數宣告1: (:前的數字) 設定順序(用tab鍵切換)
:name (:後的文字) 設定預設名稱
最後,我做出了一個,在設計class時,就會自動加上條件編譯的#ifndef-#endif的snippet
<snippet> <content><![CDATA[ #ifndef ${1:NAME_H} #define ${1:NAME_H} class ${2:name} { public: ${2:name}(${3:para}); protected: ${4:virtual} ~${2:name}(); private: ${5:/* data */} }; #endif ]]></content> <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> <tabTrigger>class</tabTrigger> <!-- Optional: Set a scope to limit where the snippet will trigger --> <scope>source.c++</scope> </snippet>
讓sublime text 2可以使用makefile和g++
這篇,最後就是要讓Sublime text 2可以跑c++的IDE
結束!
『什麼?這篇在寫什麼鬼東西?這不叫抄文章??><』
先別罵髒話!
不然,看看濃縮版。
到下載頁面,下載mingw-get-setup.exe
安裝g++,設定環境變數<MinGw path>\bin
這篇是我出現問題時的解法。
我出現的問題是「環境變數設定好了,卻
跟狗屎一樣
沒有用」
『什麼?狗屎?』
「..........」
就是,設定好了!沒有用!
(中間的故事和issue圖就先略了)
解法就是....
環境變數中的path,用;隔開,但是不可以包含空白!
千千萬萬小心呀~~><
我貼心的為了美感,將所有的;後面都空白,導致我的visual studio也出問題了!一度刪掉自己原本建好的專案!嗚~~還好我有可愛的git
到這裡,已經可以complier c++的檔案了,不過限於一個.cpp檔。
大多數的c++寫法都會將類別的宣告寫在.h檔,實作寫在.cpp檔中。
如果環境架設只到這一步,將只可以complier main.cpp和其它類別的.h檔,這樣的用法非常不實用!所以,我們趕快接著第二步來看看吧!^^
到這裡,已經可以complier c++的檔案了,不過限於一個.cpp檔。
大多數的c++寫法都會將類別的宣告寫在.h檔,實作寫在.cpp檔中。
如果環境架設只到這一步,將只可以complier main.cpp和其它類別的.h檔,這樣的用法非常不實用!所以,我們趕快接著第二步來看看吧!^^
找一下路徑
確定路徑是在c:\MinGW\msys\1.0\bin
設定環境變數
在Sublime Text2 「Tools」->「Build System」->「New Build System..」來自己設定Compiler 參數。
如下:
內容要有一個標籤,還有呼叫g++的指令與參數。
檔名存成「makefile」
後來重灌安裝,想要做最小安裝,把不必要的通通不要裝。
一個一個取消要安裝的,留下g++和make之後,一執行出現了下面的錯誤訊息。
但是萬一是這個問題
參考資料:
[1] 使用Sublime Text 來作為C/C++的IDE in Windows(2) ~G++ Compiler
[2] Sublime Text Build System that just “make”
[3] windows 安裝 gcc 編譯器 - MinGW
第一步,安裝MinGW
相關細節,為了不抄人家的文章,我們就來看原始的教學吧![1]『什麼?這篇在寫什麼鬼東西?這不叫抄文章??><』
先別罵髒話!
不然,看看濃縮版。
到下載頁面,下載mingw-get-setup.exe
安裝g++,設定環境變數<MinGw path>\bin
「..........」
就是,設定好了!沒有用!
(中間的故事和issue圖就先略了)
解法就是....
環境變數中的path,用;隔開,但是不可以包含空白!
我貼心的為了美感,將所有的;後面都空白,導致我的visual studio也出問題了!一度刪掉自己原本建好的專案!嗚~~還好我有可愛的git
到這裡,已經可以complier c++的檔案了,不過限於一個.cpp檔。
大多數的c++寫法都會將類別的宣告寫在.h檔,實作寫在.cpp檔中。
如果環境架設只到這一步,將只可以complier main.cpp和其它類別的.h檔,這樣的用法非常不實用!所以,我們趕快接著第二步來看看吧!^^
大多數的c++寫法都會將類別的宣告寫在.h檔,實作寫在.cpp檔中。
如果環境架設只到這一步,將只可以complier main.cpp和其它類別的.h檔,這樣的用法非常不實用!所以,我們趕快接著第二步來看看吧!^^
第二步,使用make[2]
確定MinGW有安裝make(在msys下)找一下路徑
確定路徑是在c:\MinGW\msys\1.0\bin
設定環境變數
接下來就是設定sublime text 2
(如同[1]新增C++ Builder一樣)在Sublime Text2 「Tools」->「Build System」->「New Build System..」來自己設定Compiler 參數。
如下:
{
"cmd": ["make"],
"file_regex": " ^(..[^:]*):([0-9]+):?([0 -9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd": ["${file_path}/${file_base_name}.exe"]
}
]
}
最後一步
(感謝Andy Shieh在這一關提醒我漏了什麼) 寫一個簡單的makefile內容要有一個標籤,還有呼叫g++的指令與參數。
檔名存成「makefile」
all:
<一個tab的空白>g++ -o main main.cpp a.cpp
好了
之後,我們來測試一下後記
後來重灌安裝,想要做最小安裝,把不必要的通通不要裝。
一個一個取消要安裝的,留下g++和make之後,一執行出現了下面的錯誤訊息。
無法啟動程式,因為您的電腦遺失 libgmp-10.dll。請嘗試重新安裝以修正這個問題。[3]或者
無法啟動程式,因為您的電腦遺失 zlib1.dll。請嘗試重新安裝以修正這個問題。這個問題,只要安裝mingw32-base,就可以解決囉!
但是萬一是這個問題
無法啟動程式 因為您的電腦遺失msys-1.0.dll。請嘗試重新安裝以修正這個問題。就是點(一個一個取消要安裝)過頭囉!重新安裝你的g++吧!
參考資料:
[1] 使用Sublime Text 來作為C/C++的IDE in Windows(2) ~G++ Compiler
[2] Sublime Text Build System that just “make”
[3] windows 安裝 gcc 編譯器 - MinGW
訂閱:
文章 (Atom)