看板 C_and_CPP 關於我們 聯絡資訊
軟體名稱:BBS 程式碼上色器 軟體連結:https://bbs-code-highlighter.netlify.app 安裝方式:網頁版免安裝 前陣子想找類似的工具沒找到, 後來想想這題目也蠻有趣的,就自己動手寫了一個。 由於 BBS 的顏色較少且較鮮豔, 所以上色時我有稍微節制一些,盡可能不要弄得太花。 另外,程式碼的解析是我從頭寫的, 所以嚴謹度可能還無法跟一些成熟的工具相比, 而且目前也只支援 C++(Qt/STL) 等幾種語言選項而已。 好了廢話不多說,先給大家看看上色後的程式碼: 01. /*************************** 02. * C++ Sample Code 03. * Date Modified: 2021/3/11 04. ***************************/ 05. 06. #include <string.h> 07. #include <stdio.h> 08. 09. class Movie { 10. public: 11. unsigned long id; 12. char name[32]; 13. float rating; 14. char site[64]; 15. }; 16. 17. // <param name="m">Reference to Movie object</param> 18. void printMovie(const Movie &m) { 19. printf("Movie(%ld, %s, %.3f, %s)\n", m.id, m.name, m.rating, m.site); 20. } 21. 22. int main() { 23. Movie *m = new Movie(); 24. m->id = 0xCF164uL; 25. strcpy(m->name, "The Avengers"); 26. m->rating = 0x.0Fp8f - 70.0e-1F; 27. strcpy(m->site, "\"https://www.imdb.com/title/tt0848228/\""); 28. 29. if (m->rating > 6.0f ? true : false) { 30. printMovie(*m); 31. } 32. delete m; 33. return 0; 34. } 左邊要不要加上行號是可以勾選的。 如果有行號的話,在手機上閱讀應該會清楚一些。 最後補充說明一點, 目前後端程式是跑在免費的伺服器上,所以會有時數上的限制。 另外如果超過 30 分鐘沒有收到任何請求,後端也會被自動關閉。 如此一來,下次收到請求時會因為需要重啟,反應會稍微慢一些,請大家見諒。 恩,大概是這樣子,如果有什麼問題或建議,也歡迎大家留言告訴我。 祝大家上色愉快!:) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.168.129 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1615459179.A.C16.html
nh60211as: 推推,等等試用 03/11 18:55
cuteSquirrel: 好美 有vs code的感覺 03/11 19:50
謝謝,我也是 VS Code 的愛用者 ^^
hare1039: 推 03/11 21:45
CP64: 推 03/11 21:54
eye5002003: 挺有趣的,這個之前沒人做過嗎?? 03/11 22:13
我只查到 2007 年 L 大的這篇文章: #16R0_pwG (EZsoft) 不過連結已經年久失修了...
yoche2000: 好用誒 太棒了 推 03/11 22:35
nh60211as: 試用過很好看,不曉得能不能加上PTT每行字的字數限制 03/11 23:01
nh60211as: 超過自動換行或是警告使用者 03/11 23:02
已加上程式碼超過畫面寬度的警告 (全形字及行號也有考慮在內)。 另外若偵測到 tab 字元也會跳出警告。
ck574b027: 樓上就是formatter吧,如果可以整合現成的工具,擴充 03/12 06:27
ck574b027: 或新增語言就快很多 03/12 06:27
感謝建議,不過目前還沒有整合其它工具的規劃。 話說回來,如果有天整合了 formatter 進來, 這軟體的名稱應該要從"上色器"升級成"美化器"了~
KaryuuIssen: 推!! 不過應該只有保留字有顏色吧? 感覺有點花 03/12 15:34
KaryuuIssen: 我自己目前都是用pietty的貼上指定格式來上色 03/12 15:35
有上色的部分大概就如 sample code 所顯示的那樣~ 至於有點花的問題,如內文所述我有試著處理,但無法做到很理想, 例如程式碼的關鍵字密集度如果很高,畫面就容易變得花。 但如果把部分顏色換成暗色,又覺得有點太暗,不太好拿捏...
alan23273850: 好愛這個作品!不知道有沒有開放 GitHub repo 供參? 03/13 02:44
alan23273850: 光複製到剪貼簿這個功能就是一個很有趣的問題。 03/13 02:45
謝謝!不過很抱歉沒有... 至於複製到剪貼簿這功能,確實有不少東西可以探討。 但我在這邊只簡單用了 document.execCommand("copy") 來實作, 在比較舊的瀏覽器其實有複製失敗的可能性。 不過我相信有在寫程式的人應該不會用太舊的瀏覽器的 ^^
gale27: 推推 這個好棒! 03/14 02:35
b90022790: 推 好棒的工具! 03/14 15:16
LiloHuang: 的確2007年那時我有寫一個,後來把kuso.cc收掉就沒了XD 03/15 23:32
竟然意外釣出 L 大本尊!!
a82611141: 推 03/16 10:59
※ 編輯: pinefruit (180.218.168.129 臺灣), 03/16/2021 15:24:30
pichubaby: 推 03/16 23:50
howareuuu: 推 03/17 10:40
yam276: 推 實用 03/17 14:45
descent: cool 03/17 23:03
pmove: 先推,以後可能試用 03/21 21:27