前言
寫程式的時候,可能某個 function 的演算法寫得不夠簡潔.但是手頭上還有其他工作,所以暫時放下等有時間再來優化,這時候就可以暫時做一個註記,類似便條紙的功能提醒自己,或是目前功能已經完成到一個段落,需要等全部人都完成工作才能進行測試,那麼也可以加入註記.
要做註記時,我們就可以使用 Android Studio 內建的 TODO 功能來做紀錄,只要打開 TODO List 清單就可以檢查,手中還有什麼地方需要去完成.當完成後再重清單中移除.
介紹
1. 如何在程式碼中加入 TODO
![](https://1.bp.blogspot.com/-BbIqUEpN-EY/YBFjoci2uwI/AAAAAAAAE9s/RbrK48WefrM8D6L-Ng05muAODWlz1YDcwCLcBGAsYHQ/w400-h55/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25888.55.59.png) |
輸入 todo,就會跳出提示 |
![](https://1.bp.blogspot.com/-meFhJEWmFyA/YBFj35NWqCI/AAAAAAAAE90/p43yS2LDx6EgXuWUdrE9iiycFVQExGLEwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25888.56.40.png) |
點選 Tab 鍵 就會跳出 TODO 跟當下的日期 |
![](https://1.bp.blogspot.com/-DRq_w9yw1no/YBFkHWonfII/AAAAAAAAE94/16iUEcZabUYd0TS6LEYmB1eLwfL1vsZvACLcBGAsYHQ/w400-h50/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25888.57.13.png) |
可以在日期後,輸入準備要做的事項 |
2. FIXME
除了基本的 TODO 之外 Default 還提供一個關鍵字 FIXME,可以用來表示修正的項目,與 TODO 類似只是標籤不同,最後都會顯示在列表中,方便查看時區隔不同的標籤.
![](https://1.bp.blogspot.com/-g7ztOpgfzOM/YBFsSRzo3zI/AAAAAAAAE-o/BqzXh9WlNgwu0WN3A6QOj4eOkky5IHt-ACLcBGAsYHQ/w400-h51/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.35.54.png) |
輸入 fixem |
![](https://1.bp.blogspot.com/-DXXlX9xfSg8/YBFtWksBHKI/AAAAAAAAE-0/nAp16T6dpOI66J3yMdNSh9dk428t_xIAwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.40.02.png) |
顯示日期,可以在日期後輸入想要紀錄的訊息 |
3. 如何開啟查看 TODO 的 List
![](https://1.bp.blogspot.com/-_MmJMJYW0gU/YBFk-GPO1sI/AAAAAAAAE-I/p_mAORL5JggmTi3SVwzdfJCofgMWvztqwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.04.40.png) |
View -> Tool Windows -> TODO |
![](https://1.bp.blogspot.com/-tSPudcMQY-w/YBFlfSQOUJI/AAAAAAAAE-Q/moNpxodSFGgEuasK9CYCRxgLEM9oNm_LwCLcBGAsYHQ/w400-h80/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.05.56.png) |
Android Studio 側邊或底部欄位 |
![](https://1.bp.blogspot.com/-6tfn3Mi8gMk/YBFmRclK6OI/AAAAAAAAE-c/W_hW-8bdlc87-Jf4hA5gWTWdINDvycRxgCLcBGAsYHQ/w400-h168/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.10.13.png) |
列表中就會顯示,總共有幾個 TODO 跟 檔案的 folder 所在路徑 |
4. 訊息雜亂,如何篩選出想要查看的標籤(區隔開 TODO 跟 FIXME)
![](https://1.bp.blogspot.com/-p6Gf6LGkwRo/YBFuLa4XKOI/AAAAAAAAE-8/M_EA5lewdtMdXNEsV4s1Mcht7vQtPIeuQCLcBGAsYHQ/w400-h260/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.43.34.png) |
TODO 跟 FIXME 混在一起,點選紅框處按鈕 |
![](https://1.bp.blogspot.com/-yC1CBC2Hvq8/YBFu2ciODZI/AAAAAAAAE_E/nxjh5730fZsGUPGugqo78CwLlMd-lRklACLcBGAsYHQ/s0/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.46.34.png) |
點選 Edit Filters |
![](https://1.bp.blogspot.com/-oIps-M3OtLs/YBFvJIc_cMI/AAAAAAAAE_M/a9epcAiZEcoQgCh3fwNGvHdh0grvEUZfwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.46.50.png) |
顯示 TODO 窗口,紅框處顯示小括號把 FIXME 跟 TODO 綁在一起
|
![](https://1.bp.blogspot.com/-yVsqLjo_UtY/YBFxPUWiAKI/AAAAAAAAE_c/pN227MCiG2ctDpEeJglbTeuzc2kK6-7jQCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%25889.55.49.png) |
點選+,輸入fixme 注意事項:開頭 \b 跟結尾 \b.*是需要輸入的,中間是篩選的標籤名稱
|
![](https://1.bp.blogspot.com/-2qdDQ6vwRGc/YBFyk-qVmXI/AAAAAAAAFAA/eRNvApR3GTk57djBjNJ1RzkYMCd4pPBqACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.02.42.png) |
此時 Patterns 已產生完成,Case Sensitive 沒有打勾選,不區分大小寫
|
![](https://1.bp.blogspot.com/-Fvx736ddY5w/YBFzIcx0R1I/AAAAAAAAFAQ/RGyq_AdTHZMRnZEp1TdcCR2IgNNcsjM2wCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.03.59.png) |
點選 Filter +,勾選 fixme 並輸入 Filter name 即可 |
![](https://1.bp.blogspot.com/-wwDn9T4_qY8/YBFy8ObNncI/AAAAAAAAFAM/mSGw-mZwTdYxs6Ky34krhhs7l3-f0x3SgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.04.08.png) |
Filters 完成新增 |
成果
![](https://1.bp.blogspot.com/-Ys_atQZ6j6A/YBFzqr4znWI/AAAAAAAAFAg/DOSlBuwbm14pv1vLMNuthZ6gt0G8zKkDwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.07.01.png) |
點選篩選按鈕,點選 FIXME |
![](https://1.bp.blogspot.com/-v_DXFJtSJI0/YBFzqgvoSyI/AAAAAAAAFAk/7OyqT36WOl8HMJT8x2ubdEZxTxNTHu_vwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.07.11.png) |
顯示篩選結果 |
5. 如果想要自定義 TODO,比方說專案裡有東西要指定給其他團隊 ASSIGNOTHER 或有項目需要暫時擱置 WAIT,那麼可以到 Preferense 內設定 Patterns 或延續剛剛的步驟加入想要自定義的 TODO.
![](https://1.bp.blogspot.com/-PAj3XxQNN38/YBF1FsJZuFI/AAAAAAAAFA0/UWOpaQrvGMcYhRp7AXpZGW14adocRc8pACLcBGAsYHQ/w400-h309/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.12.41.png) |
點選 Patterns 加入 |
![](https://1.bp.blogspot.com/-DWfO79ux4mE/YBF1qSQ0T6I/AAAAAAAAFA8/FNgQScRa24sAEgg-ksnhthCYXlHlJA_qgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.15.30.png) |
加入 assignother 沒有勾選 case Sensitive 區分大小寫 |
![](https://1.bp.blogspot.com/-bKycxbOONIQ/YBF1qYoAkYI/AAAAAAAAFBA/6bURi_7QhgoPVmX6N2D5t5-kTcppawy2ACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.15.52.png) |
wait,注意開開頭跟結尾 \b, \b.* 的設定不要輸入錯誤 |
![](https://1.bp.blogspot.com/-pT03bibch4s/YBF2ArqVNII/AAAAAAAAFBQ/PyZzbhuFGwcjgbgqkg-apchryF0kBOADgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.17.23.png) |
設定完成的結果 |
![](https://1.bp.blogspot.com/-mvx3rJ7-L4Q/YBF2VFmIZzI/AAAAAAAAFBY/BvvmgBF3BGMscHbtzCe9M8P1VTv6tuKIACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.18.46.png) |
程式碼顯示結果 |
![](https://1.bp.blogspot.com/-fvPhDnYnHpc/YBF2m18tW-I/AAAAAAAAFBg/EKTmDzkmuWcbbUDeU2lSZCbQrbRu_xxdACLcBGAsYHQ/w400-h119/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.20.00.png) |
TODO list 顯示結果 |
6. 新增的 Patterns 一樣可以加入篩選
![](https://1.bp.blogspot.com/-ZXor8KNFuLo/YBF3Fz8g6XI/AAAAAAAAFBs/vERQKuHCWyMdDRCGbVqKnrIY0sDsFNa-wCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.22.02.png) |
勾選後,給定名稱就可以使用 |
7. 新增的 Patterns 沒有辦法快速輸入,按 Tab 鍵就把內容補全,需要自行輸入很耗費時間,可以使用 Live Template來快速完成.以下不會詳細說明,只會顯示設定步驟.
首先進入 Preferences
![](https://1.bp.blogspot.com/-Tqy8lZ45cZQ/YBF4Ucqf_xI/AAAAAAAAFB4/w3C7MBSwgT8R1KkNVZXGfhlrOdzya2wvwCLcBGAsYHQ/w400-h208/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.27.17.png) |
選擇 Live Template -> Android Comments |
![](https://1.bp.blogspot.com/-aoby_-_28Yo/YBF4zHiP3FI/AAAAAAAAFCA/1qXP2MqlQJIDbXq8QxZ_elrk86Ff5cMxACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.28.18.png) |
可以看到 TODO 跟 FIXME |
接著要加入 assignother 跟 wait 兩個標籤
![](https://1.bp.blogspot.com/-ri_PCvjyVCQ/YBF5nBaDt6I/AAAAAAAAFCM/cMRV9ph5QQEj0DTLarfu1RJYjDp6Qks5gCLcBGAsYHQ/w400-h109/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.31.41.png) |
點選 +號,Live Template |
Abbreviation : 是輸入指定的字就會跳出提示,這邊設定 asDescription : 提示時會顯示的內容,這邊輸入 把工作指向其他團隊Template text : 輸入 as 點選 Tab 之後會顯示的內容
特別注意 :
$符號包住的字元是系統可以幫你產生的內容,這邊設定 $DATE$
$ 符號產生的內容是會變動的,如路徑或檔名等,可以解決 Template text 只能產生固定的內容
![](https://1.bp.blogspot.com/-a55U52948-g/YBF7hCnJ8VI/AAAAAAAAFCg/qrDBOD-xEwYmKe-wQr80weMgTwYfXD8-gCLcBGAsYHQ/w400-h334/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.40.08.png) |
1. Android Comments 已經顯示了設定 2. 點選 Edit variables 編輯 DATE 變數 |
![](https://1.bp.blogspot.com/-BglD-KWvVZU/YBF8Jqckz1I/AAAAAAAAFCo/YSRgcGi5J7gxuvs6lHAuMJtlPK1MdoOcACLcBGAsYHQ/w400-h214/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.43.34.png) |
Expression 下拉選單選擇 date() 由系統產生,也可以選擇其他的系統 function |
![](https://1.bp.blogspot.com/-PIS1LdQr4iQ/YBF8ntB6OmI/AAAAAAAAFC0/BkGS2MDR-dUYm4KhF6sRhimVREJFKIuMgCLcBGAsYHQ/w400-h58/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.45.34.png) |
勾選 skip if defined 後點選 ok |
![](https://1.bp.blogspot.com/-3zTF0gvbwZI/YBF9OXGeQAI/AAAAAAAAFDE/o5ScrJ6_kTk_gbLC4CPsxnuMCzsr67q0QCLcBGAsYHQ/w400-h161/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.46.44.png) |
勾選 Reformat 以及定義 Define |
![](https://1.bp.blogspot.com/-H3UkGyiMa0E/YBF9OYm7WEI/AAAAAAAAFDI/5XsNwDgkHe04ELS6urKvIPiHdJtRGVCbACLcBGAsYHQ/w400-h223/%25E6%2588%25AA%25E5%259C%2596%2B2021-01-27%2B%25E4%25B8%258B%25E5%258D%258810.46.59.png) |
點選 Everywhere,最後按OK
|
沒有按 OK,不會完成設定,重開後消失按照重複步驟完成 WAIT
的設定實測結果
WAIT:
ASSIGNOTHER:
TODO List 也都可以查看到
後記如果這篇文章對你有幫助,可以幫忙分享給還在學習路上的人,文章中內容如果有錯誤,告知後會進行修正,如果有什麼問題或建議也可以留言告訴我.
留言
張貼留言