[NetBeans]安裝使用

官網上有多種組合給你選,視需求來安裝就行了。

NetBeans功能很多,官方預設外掛就已經有很多好用道具了,像是對git的支援就有彌補到git官方工具的不足。

雖然CMake沒有支援NetBeans,你在CMake清單裡找不到NetBeans,但是NetBeans卻有支援CMake,它自力更生去讀取CMake組態檔,而且生出來的東西是CMake能接受的,請看這篇教學,很有趣。


NetBeans這個選項好像會預設打開
Options -> Miscellaneous -> Diff -> Ignore Leading And Trailing White Space
這最好還是disable會比較恰當
否則git的表現會怪怪的


NetBeans剛開啟時出現的start page只要在page右上角就能找到勾選格來關掉它,懷念它就從 Help -> Start Page 把它開回來。

[綜合整理]區塊編輯模式

Block selection mode是非常實用的編輯方式,幾乎每一種editor都會支援一下,但是用法跟細節略有不同。

基本上大多編輯器都支持你選取多行文字之後,直接按Tab統一進行縮排,這是打從Visual C++6.0就已經有的傳統功能。


很多編輯器採用壓住Alt來進行區塊選取,Ubuntu下可能要改用Ctrl+Alt


Eclipse

工具上就有Toggle block selection mode這個按鈕給你選

Codeblocks

只有基本的壓住Alt來編輯,可以區塊刪除,但無法區塊打字。

NetBeans

Ctrl+Shift+R可以啟動區塊編輯模式
在Editor toolbar可以看到這個開關

Geany

壓住Alt來編輯,可以區塊編輯。

Notepad++

壓住Alt來編輯,可以區塊編輯。

Sublime Text

壓住Shift用滑鼠右鍵來進行區塊編輯。

VIM

用Ctrl+v來進入區塊選取模式,選完可以直覺的按d來刪除,想多行打字則是選完按大寫i來進入一個特別的輸入模式,打的當下只會看到一行字,跳離輸入模式才會顯現多行編輯成果。

[綜合整理]清理行尾空格跟tab

這個功能的用意是刪除文字行末看不見的字符,的確有極少數的情況是不能刪除行尾空格的(例如MarkDown語法),但大多情況下這些字符是多餘的,而且有可能導致難以察覺的錯誤(makefile就是這樣)。


以下列出各個編輯器的自動清理行尾選項
會在存檔時自動清理行尾空白跟tab

CodeBlocks

Setting->Editor->General settings->Strip trailing blanks

Eclipse

Window->Preferences->C/C++->Editor->Save Actions->Remove trailing whitespace

NetBeans

Tools -> Options -> Editor -> On Save -> Remove Trailing Whitespace From
不過對於最後修改的那一行不會進行清理,很奇怪的設計

Sublime Text

在settings -- User增加下面這行就能啟動自動清理行尾功能
"trim_trailing_white_space_on_save": true,

Notepad++

有手動選項,但是沒有自動清理選項

Geany

編輯->偏好設定->檔案->截除尾隨空白與跳格字元
編輯->外掛程式偏好設定->Addons->Strip trailing blank lines

Vim

把這一段加進vimrc裡面就行了
function RemoveTrailingWhitespace()
  if &ft != "diff"
    let b:curcol = col(".")
    let b:curline = line(".")
    silent! %s/\s\+$//
    silent! %s/\(\s*\n\)\+\%$//
    call cursor(b:curline, b:curcol)
  endif
endfunction
autocmd BufWritePre * call RemoveTrailingWhitespace()

Git

還有一個是git提供的方法,開啟專案資料夾的.git/config(或者去改global版的config),在[core]區增加這行。
whitespace = trailing-space
這會確保送出的修改是不會帶有這些行尾的多餘字符

[綜合整理]開啟當前行標亮以及設定顏色

這是個幾乎所有文字編輯器都會提供的功能,因為游標真的太小了,有時會找不到,當前行常見的英文命名是current line,不過也有caret row這樣的稱呼。



NetBeans

Tools -> Options -> Fonts & Colors -> highlighting -> Highlight Caret Row
顏色欄位選擇Inherited就能關掉當前行標亮了

Eclipse

General -> Editors -> Text Editors
然後你可以看到 [Highlight current line]  跟 [Current line highligh] 這兩個選項

CodeBlocks

開關
Settings -> Editor -> General settings -> Other options -> Highlight line under caret

選擇顏色
Settings -> Editor ->Syntax highlighting -> Active line

Geany

打開filetypes.common,將current_line改成你要的顏色,把顏色改成跟背景色一樣就算關掉了吧?我沒找到真正的開關。

我的geany常常會在剛啟動或剛修改顏色之後沒立刻出現current line標亮,連游標都消失了,這時點一下其他視窗再點回來就會好了。

Notepad++

自訂 -> 使用者自訂 -> 編輯區 -> 啟動現行行列背景顏色
不過無法控制顏色

VIM

在vimrc加上下面這行,就可以打開current line highligh功能了
set cursorline

加下面這行則可以控制顏色,guifg挑個顯眼的相反色就好了
highlight CursorLine guibg=blue guifg=white

上面的是用來控制gVim的,terminal版應該用下面這個
highlight  CursorLine ctermbg=blue ctermfg=white

Sublime

在settings -- User增加下面這行就能啟動
"highlight_line": true,
不過我不知道如何修改顏色

[Sublime Text]安裝使用

Windows下的Sublime Text有免安裝版本可用,Ubuntu下只有安裝版。

雖然Sublime Text會提醒你付費註冊,但那只是個請求,並沒有試用期之類的限制,喜歡這工具就捐獻一點資金贊助吧。


修改選單沒有的選項

Sublime Text的大部分設定選項都在這裡
Preferences -> Settings -- User

你可以從預設的設定裡參考有什麼選項可以改
Settings -- Default

[綜合整理]讓tab顯示在側邊位置

其實tab一開始設計在上方就有點不對了,那樣只能塞幾個tab就滿了,多行tab則又不好找,直接在側邊顯示tab就合理多了。

下面舉出有此功能(或者類似效果)的editor

NetBeans

Tools -> Options -> Appearance -> Document Tabs -> Tab placement -> Left

CodeBlocks

View -> Open files list
但是沒有關掉上方tab的選項

Geany

編輯 -> 偏好設定 -> 介面 -> 筆記頁籤  -> 頁籤位置 -> 編輯器 -> 左邊

Sublime

View -> Side Bar -> Show Open Files
View -> Hide Tabs

[MadEdit]獨家功能

我沒有用MadEdit來寫程式,感覺也不是很適合,但是說到文字編碼問題,這東西真的非常稱職。


MadEdit在Windows是免安裝程式,在Linux則是安裝程式,可以轉換各國編碼,可以將簡體中文跟繁體中文互換,在Linux底下你常常會需要將BIG 5編碼轉成UTF-8。

MadEdit處理這方面問題很方便,所以我每台電腦都有裝這個好工具。

除了文字檔以外,MadEdit還有個16進位的閱讀模式,連對binary檔案也可以做修改,相當的實用!

[VIM]安裝使用

vim是指在命令列下執行的文字編輯器,擁有視窗使用介面的版本則稱為gVim,操作方式是一樣的,只是gVim可以方便的開啟多個tab,而且Alt鍵是可以使用的。


在Windows上建議安裝gVim而不是vim,gVim有免安裝版的,一樣可以裝外掛,官網沒提供免安裝版,去PortableApps之類的地方找找就有了。真的對vim有興趣可以去裝git,Windows下的git除了給你一個模擬Linux環境的terminal之外還有附贈你vim,或者乾脆點去安裝cygwin。


Linux下我是vim跟gVim都有裝,因為vim在組合鍵的使用上無法用Alt鍵也無法用tab,gVim在某些情況下又顯得小題大作,各有各的優點。


vim的所有設定都可以在vimrc上做修改,在"/etc/vim"目錄底下可以找到vimrc,每個vim玩家都會寫一份自己的vimrc,在上面記錄各種快捷鍵跟設定,大可直接用sudo權限去修改它,gVim用的是同個目錄下的gvimrc。


[NetBeans]用GCC跟CMake編譯程式

雖然CMake的選單裡沒有NetBeans,但是NetBeans有自力更生去支援CMake。

先安裝GCC(MinGW或TDM-GCC都可以)、NetBeans跟CMake之後,就要開始用CMake建立專案檔了,但是在Windows上的話需要先設置msys(安裝MinGW的時候就該順便勾選msys了嘛):

-----------------------------------Windows才需要做的事-----------------------------------start

安裝msys,它會問要不要post install,回答y,有沒有安裝MinGW也回答y,跟你索取MinGW就照它給的格式打上路徑,長的像下面這樣。

c:/mingw
或這樣
c:/tdm-gcc-32

msys可能會跟你抱怨c:/tdm-gcc-32/bin底下沒有make.exe,這不影響NetBeans。

如果你先裝NetBeans再安裝msys的話就需要手動去設置NetBeans的make command了

NetBeans這樣去填make command
Tools -> Options -> C/C++ -> Build tools -> Make command
我是填這個"C:\msys\1.0\bin\make.exe"

-----------------------------------Windows才需要做的事-----------------------------------end

接著打開NetBeans開始使用CMake了

1.新增一個C++專案,選用"C/C++ Project with Existing Sources"
2.將專案路徑放上去
3.在 Select Configuration mode 選擇 Custom
4.勾選 "Run Configure Script in Subfolder" (預設資料夾名稱叫做build,會建立在專案根目錄,很常見的位置)

後面的選擇基本上都是Next連按到結束,創造出來的專案檔跟CMake產生的沒什麼兩樣,你一樣可以用CMake開啟並勾選編譯選項。

[Eclipse]安裝使用

Eclipse在Windows或Linux上面都是免安裝的IDE,跟其他IDE不一樣,Eclipse強迫你一定要給定一個資料夾做為Workspace,你在Eclipse上面所做的設定都會記在Workspace裡面,每次啟動一定要開啟一個Workspace。


剛啟動時都會問你要選哪個Workspace,你可以把最常用的設為預設就好了,反正開啟之後還可以切到其他Workspace,用不著每次都浪費時間去選。


Eclipse的概念是只有一個小小的核心,其他的東西都是外掛,官網有打包好的各種版本讓你不用親手去收集配置外掛,這幫了大忙,例如Eclipse CDT這版本就是先裝好C++專用外掛了。


安裝外掛可以到選單這裡下載
Help -> Install New Software

[Geany]安裝使用

Geany本體功能很簡約,必須裝些外掛才堪用,其中"Addons"跟"檔案瀏覽器"是必裝的外掛。

Windows安裝

Windows下的Geany有免安裝版,但是我不懂怎麼在免安裝版上面裝外掛,所以還是用官網的安裝版來用,官網還有提供外掛安裝程式,一口氣幫你裝上一堆外掛,想啟動哪個感興趣的外掛可以自己決定,以免啟動全部外掛拖慢了Geany的啟動速度。


http://www.geany.org/Download/Releases
http://plugins.geany.org/downloads.html

Ubuntu安裝

sudo apt-get install geany
sudo apt-get install geany-plugin-addons
sudo apt-get install geany-plugin-*

啟動外掛

Tools>Plugin Manager
工具>外掛程式管理員 
勾選Addons,File Browser

修改Geany選單沒給的設定選項

Geany大多設定選項都不放在選單裡面,而是直接開一份文字設定檔讓你去改,是簡單又實用的做法。修改選單沒給的設定選項


那麼修改方法如下:


Step 1:查好你想修改的選項是寫在哪一份文字檔上面
Step 2:到"原始設定檔資料夾"去尋找該文字檔
Step 3:複製該文字檔到"個人設定檔資料夾",以後只需要修改這個副本就好


你放在"個人設定檔資料夾"的副本設定檔可以在"Geany選單 -> 工具 -> 組態檔案"上面找到
"原始設定檔資料夾"的檔案也可以在這裡找到


兩種設定檔資料夾的位置因作業系統而異,你翻翻看就知道了
通常"個人設定檔資料夾"底下的 filetypes.README 會寫著"原始設定檔資料夾"的正確路徑

"原始設定檔資料夾"的可能位置
/usr/share/geany
C:\Program Files\Geany\data
C:\Program Files (x86)\Geany\data

"個人設定檔資料夾"的可能位置
/home/[user name]/.config/geany/filedefs
C:\Documents and Settings\Administrator\Application Data\geany\filedefs
C:\Users\[user name]\AppData\Roaming\geany\filedefs

※Application Data是個隱藏資料夾,需要去改一下資料夾的檢視選項

[綜合整理]在成雙成對的*.cpp跟*.hpp之間做切換

常常開啟了一個標頭檔之後卻不知道它對應的*.cpp檔案在哪裡,有了切換功能就可以很容易找到了,反過來從*.cpp來尋找標頭檔也很方便。

CodeBlocks

按F11
不過感覺不是很靈光,有些情況下會找錯檔案

Eclipse

Ctrl+Tab

NetBeans

Ctrl+Shift+A

[綜合整理]整理縮排、重新排版

有時別人寫的程式碼很撩亂,縮排也亂亂的,或者編排方式、tab長度不是你要的,這時就可以用整理功能了。


Eclipse

Ctrl+Shift+F

VIM

vim的預設用法是讓你先選取想整理的部分再進行整理,但是我喜歡像其他IDE直接對整份文件做整理的那種做法,你可以學我在vimrc加上下面這行。

nmap <S-F1> ggVG=

以後只要按Shift+F1就能整理code了

NetBeans

Alt+Shift+F

[綜合整理]複製當前行

複製游標所在的整行code然後貼在下一行,算是個人非常常用的指令了

Notepad++

Ctrl+D

Geany

Ctrl+D

CodeBlocks

Ctrl+D

VIM

vim沒有這個功能,但是你可以自己用基本功能來拼湊,這裡實作成跟上面一樣用Ctrl+D來複製,在vimrc加上下面這行便可。
nmap <C-d> yyp

Sublime

Ctrl+Shift+D

Eclipse

Ctrl+Alt+Down
不過這組合鍵在Ubuntu底下有可能因為被系統攔截而無法使用,需要自行修改成其他組合了。

NetBeans

Ctrl+Shift+Down