將你的程式碼自動縮排/美化。

手動縮排程式碼是一個好習慣,但是程式碼一變長,或是一次性刪減很多不同的地方,甚至是幫別人 debug 沒編排好的 code 時,自動縮排快捷鍵就會變得非常方便。以下介紹一些 C/C++ 比較常用的 IDE 中如何使用自動縮排。

如果有自己愛用的 IDE 沒有被列在下面也歡迎告知我們。

Code::Blocks

Settings > Editor... > Keyboard shortcuts > Plugins > Source code formatter (AStyle) 點擊 New shortcut 下面的文字方塊,並按下 Ctrl+Alt+F 當作快捷鍵,之後按 AddOK.

之後只要按 Ctrl+Alt+F 就可以自動縮排了。

如果你喜歡前大括號不單獨成行,請設定如下:

Settings > Editor... > Source formatter > Style > Bracket style > Java

Dev-C++

Ctrl+Shift+A.

但是因為 Dev-C++ 設計上的 BUG 會讓自動縮排無法順利進行。

所以我們得把 Dev-C++ 設定成用管理者權限執行,設定方法如下

C:\Program Files (x86)\Dev-Cpp (或 C:\Program Files\Dev-Cpp) 在 devcpp.exe 上面點右鍵,按 Properties (內容) > Compatibility (相容性) > Run this program as an administrator (以系統管理員的身分執行此程式) 確認打勾後重開 Dev-C++ ,之後快捷鍵就會生效了。

不過這樣做的副作用就是之後開啟 Dev-C++ 時都會跳出一個要求系統管理員權限的視窗,會比較麻煩一點。

如果你喜歡前大括號不單獨成行,請設定如下:

AStyle > Formatting Options... > Options > Bracket style > Java

Atom

全選檔案內容後按 Edit > Lines > Auto Indent.

設定快捷鍵

在 keymap file (keymap.cson) 中加入下面幾行。

for Windows:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'

for Mac:

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'

Windows 全選檔案內容後按 Ctrl + Alt + L. Mac 全選檔案內容後按 Cmd + Option + L.

Xcode

全選檔案內容後按 Ctrl + I.

Visual Studio

在編輯檔案時按 Ctrl + K 後接著按 Ctrl + D.

Visual Studio Code

on Windows: Shift + Alt + F. on Mac: Shift + Option + F. on Ubuntu: Ctrl + Shift + I.

Eclipse

on Windows : Ctrl + Shift + F on Mac : Cmd + Shift + F

Vim

在 Normal Mode 下打 gg=G

設定快捷鍵

開啟你的 vimrc file (可以用這個指令::e $MYVIMRC) 在最下面加上以下設定:

nnoremap <F7> mzgg=G`z

之後在 Normal Mode 按 F7 就可以自動縮排了。

進階美化

  • 安裝 AStyle Windows: 下載完把資料夾加進 PATH 環境變數。 Mac: $ brew install astyle Ubuntu: $ apt-get install astyle

開啟你的 vimrc file (可以用這個指令::e $MYVIMRC) 在最下面加上以下設定:

" Need astyle installed
autocmd BufNewFile,BufRead *.c set formatprg=astyle\ -A1xjxVpSNYk1Hm0xwxWO
autocmd BufNewFile,BufRead *.cpp set formatprg=astyle\ -A1xjxVpSNYk1Hm0xwxWO
" Uses mz to mark in register z
nnoremap <F7> mzgggqG`z

如果你喜歡前大括號不單獨成行,就把 A1 改成 A2. 之後只要開啟 .c.cpp 檔,在 Normal Mode 按 F7 就可以自動縮排了。

有使用到的 AStyle 參數紀錄 (點擊展開) [My AStyle arguments](https://intuitive-theory.com/notes/my-astyle-arguments/)

Emacs

首先先進入 c mode 或 c++ mode. M-X c-mode or M-X c++-mode C-X H, 以選取整個檔案。 按 Ctrl + Meta + \ 自動縮排。

註:Meta 通常代表 Alt.

References

Posted: