顯示具有 sublime text2 標籤的文章。 顯示所有文章
顯示具有 sublime text2 標籤的文章。 顯示所有文章

Build用sublime Text,無顯示!!

沒有留言:
使用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執行」才能看見結果了!超棒的吧!^^

依下列步驟進行就知道怎麼回事了!

  1. 在Sublime Text中開新檔案
  2. 打python的code、存檔
  3. 在Sublime Text功能列找「Tool→Build System→Python」
  4. 就可以按下「Ctrl+B」或在Sublime Text功能列找「Tool→Build」
就可以在下方看見執行結果了!

用Sublime Text寫git的commit 內容(也就是之後要呈現在log的文字)

沒有留言:
要注意安裝的版本和路徑。

因為我使用的是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

學Sublime text的....

沒有留言:
很多功能直接Demo給你看
Ctrl+D迷住我了
http://blog.edenyeh.com/sublimetext/sublime-text-firstclass/

按Enter,自動縮排

沒有留言:
Preferences->Settings-Default
可以找到這個
    // Calculates indentation automatically when pressing enter
    "auto_indent": true,

true: 按Enter,自動縮排
false: 按Enter,到新的一行最前面

Sublime text 2之好用的摺code 功能

沒有留言:
其實,用久了Visual Stuio就會想摺code
把程式碼摺起來,多棒呀!

在Sublime text 2 中也有一樣的功能唷!

  • Edit->Code Folding

前兩個

  • Fold         Ctrl+Shift+[
  • Unfold     Ctrl+Shift+]

記下這兩個快速鍵。

修改sublime text 2的字型

沒有留言:
修改字型文章,快要可以出系列文了!XDD


一樣,也是為了寫程式的環境,為了讓心愛的Monaco字型出現在Sublime text2上面,而寫的一篇文章(其實真正的原因是別的)

好吧,為了文章的篇幅,我們來說說真正的原因吧。XDD

今天,一開機心中就浮現了微軟對自己過去舊愛(Windows XP)說的壞話,什麼不安全、漏洞、危險、愈來愈不行,今天的「開始功能表」,還是我自己叫出來的,方法如下:
  1. 按下ctrl+alt+del,叫出「工作管理員」
  2. 找「檔案->新工作(執行...)」
  3. 輸入explorer
還好當下我知道要這麼做,而不是放任windows如同把你的焦躁當作耳邊風一樣,只有滑鼠還很好心的會理你,鍵盤也要懂他,他才會幫你。

但是,也是因為我對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 選單
  2. Perferences → Settings – User
  3. 增加以下的程式碼
       "font_face": "Monaco",
        "font_options":
        [
            "directwrite"
        ],
        "font_size": 14.0,
  4. 存檔,字型馬上就會改變囉!^^

快來試試看吧!

參考資料:
[1] 如何解決 Sublime Text 的中文亂碼?
[2] 在 Sublime Text 2 設定 Inconsolata 字型


神乎其技的....snippet

沒有留言:
sublime text 2 有提供一種叫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>

這段程式碼,分成三個部份

  1. <content><![CDATA[
    Hello, ${1:this} is a ${2:snippet}.
    ]]></content>
  2. 和註解中的
  3. <tabTrigger>hello</tabTrigger>
  4. <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

相關細節,為了不抄人家的文章,我們就來看原始的教學吧![1]
結束!

『什麼?這篇在寫什麼鬼東西?這不叫抄文章??><』

先別罵髒話!

不然,看看濃縮版。
下載頁面,下載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檔,這樣的用法非常不實用!所以,我們趕快接著第二步來看看吧!^^

第二步,使用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