乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Atom | 用最酷的編輯器 寫最美的代碼

       樹悲風(fēng) 2019-11-16

      代碼如詩。

      Code is poetry.

      Vim - the ubiquitous text editor

      Vim - the ubiquitous text editor

      寫代碼本應(yīng)該是很享受的事情,我們有極客高效的 Vim,簡約美麗的 Sublime Text,從小至最為純粹的編輯器,到大至包羅萬物的 IDE。一個(gè)好的、美觀的、高效的代碼編寫環(huán)境著實(shí)能夠提高一個(gè)人的寫作、創(chuàng)作欲望。試想一個(gè)人把 VC 6.0 放在你的面前,黑底白字、沒有高亮、沒有顏色,有誰會(huì)愛上 C / C++?如果有人在 2018 年向你推薦 1998 年的 IDE,那么你覺得這個(gè)人的腦子該如何拯救?

      null

      生命不息,折騰不止。

      經(jīng)過近 2 年的摸索,從高中的 Dev C++ 到大一開學(xué)時(shí)的 Codeblock 與 Sublime Text,到現(xiàn)如今的 Atom,我想總結(jié)一下:一個(gè)高效美觀、能激發(fā)一個(gè)人創(chuàng)作欲望的代碼編寫環(huán)境到底是怎樣配置出來的。以拯救那些大一剛剛開學(xué),即將或是已經(jīng)被 C 語言 / Dev C++ / VC 6.0 荼毒半年有余的同學(xué)們。

      壹 → Atom

      Atom:A hackable text editor for the 21st Century

      Atom

      Atom

      首先,介紹工具:Atom 文本編輯器,由 Github 出品的基于 Electron / Node.js 的半開源文本編輯器。官網(wǎng)位于 -> https:///

      為什么我從一眾優(yōu)秀的文本編輯器中選擇了 Atom,而不是 Vim,又放棄了我用了一年多的 Sublime Text?

      開源。GitHub 上的大佬叫他是 Hackable 就不是吹的,配置文件是 cson,樣式文件是 CSS 和 Less,所以理論上你可以把 Atom 配置成任何你想要的樣子。

      開箱即用。所謂的 Out-Of-The-Box Experience 說的就是 Atom。自帶 4 組 UI 主題、4 組 Syntax 主題,自帶 Markdown 渲染器、代碼美化插件等等。

      簡單設(shè)置自帶圖形界面。無疑對我們這些 Spicy Chicken 很用戶友好了,一些簡單的設(shè)置是直接用下拉菜單的形式配置的,不需要打開諸如 vimrc 和 User.sublime-settings 然后費(fèi)盡心思的直接改代碼。

      又為什么我選擇了 Atom 而不是 IDE?

      我只能說,就我們這些 Spicy Chicken 來說,寫的代碼還輪不到 IDE 的事情,畢竟剛開始的我們,C / C++ 一個(gè)項(xiàng)目不超過兩個(gè)文件,一個(gè)文件不超過 500 行代碼,用 IDE 來 cmake 一波豈不是很虧。因此我在 IDE 和輕量級可拓展的文本編輯器中選擇了后者,又在文本編輯器中選擇了半開源、可 Hack 的 Atom。以上。

      貳 → 配置 Atom 成為寫 C/C++ 的「IDE」

      文本編輯器的最大的優(yōu)勢在于你可以通過開源社區(qū)下載,甚至自己編譯開發(fā)「插件 - Plugin」來完善它,實(shí)現(xiàn)「開箱即用」中所沒有提供的功能。

      1. 寫代碼的時(shí)候

      一個(gè)有情懷的 IDE 基本都會(huì)實(shí)現(xiàn)代碼自動(dòng)補(bǔ)全,代碼實(shí)時(shí)編譯糾錯(cuò),以及代碼高亮(為了美麗)和代碼自動(dòng)整理。很可惜,Dev C++ 沒有,Codeblock 也沒有。因此,我們要完善我們嶄新的 Atom 來實(shí)現(xiàn)以上功能。

      代碼自動(dòng)補(bǔ)全

      Plugin: autocomplete-clang

      null

      代碼實(shí)時(shí)編譯

      Plugins: linter, linter-clang, linter-ui-default

      null

      代碼高亮

      Themes,這里的問題主要在于個(gè)人審美,我相信一定有一個(gè)美麗的 UI 和配套的 Syntax 主題打動(dòng)你。

      null

      代碼自動(dòng)整理

      Plugin: Atom-beautify

      null

      2. 寫完代碼之后

      一個(gè)能正常操作的 IDE 都能通過,或是綠色箭頭,或是組合鍵 Fn + F5 之類的方式編譯運(yùn)行。

      在 Atom 里我們也可以實(shí)現(xiàn):

      編譯運(yùn)行 C/C++

      一鍵編譯:script

      null

      插件 script 實(shí)際上是通過識別文件類型來執(zhí)行對應(yīng)的命令編譯源代碼。比如 C++ 的編譯命令實(shí)際上是 [Command: bash -c 'xcrun clang++ -std=c++14 -Wall -include stdio.h -fcolor-diagnostics -include iostream '$Path_To_CPP_File$/Test.cpp' -o /tmp/cpp.out && /tmp/cpp.out'],通過快捷鍵 ? + I 直接運(yùn)行指令來編譯。

      null

      調(diào)出終端:platform-ide-terminal

      null

      如果不滿意 script 一鍵編譯運(yùn)行的話,可以通過這個(gè)插件喚出終端,這樣直接了當(dāng)用 g++ -o $File_Name$ $File_Name.cpp$ 這一命令來運(yùn)行,這時(shí)候程序也支持輸入,與 Windows 下 Dev C++ 中默認(rèn)運(yùn)行調(diào)出 Command Prompt 小黑框一般道理。同時(shí)這樣也方便用 gdb 來進(jìn)行調(diào)試。

      3. 一個(gè)有情懷的工作流開發(fā)者的加成

      在 ACM 中,每段代碼都是有標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出的。在 C / C++ 中我們可以通過這樣的代碼片段來讀取輸入:in.txt 并將程序輸出、程序運(yùn)行時(shí)間寫入文件:out.txt。在保證 C / C++ 源代碼和兩個(gè) TXT 文件再同一個(gè)文件目錄下,這段代碼是這樣的:

      #ifdef SUBMITfreopen('in.txt', 'r', stdin);freopen('out.txt', 'w', stdout);long _begin_time = clock();#endif/* your code here */#ifdef SUBMITlong _end_time = clock();printf('time = %ld ms', _end_time - _begin_time);#endif

      同時(shí)要在頭文件定義時(shí)加入:#define SUBMIT //本地運(yùn)行這行留下,提交代碼直接注釋掉

      這樣在 Atom 中就可以形成工作流:代碼區(qū)域 - 編寫 → 輸入內(nèi)容 in.txt → 編譯代碼 → 查看輸出文件內(nèi)容、運(yùn)行時(shí)間 out.txt

      null

      直觀純粹,效率優(yōu)先。

      null

      最后,上成果。這樣的 Atom 配置在寫 C / C++ 基礎(chǔ)程序的時(shí)候,基本實(shí)現(xiàn)了:

      Linter: 基于 clang 的實(shí)時(shí)編譯

      代碼高亮與自動(dòng)補(bǔ)全

      代碼自動(dòng)優(yōu)化美化

      一鍵編譯運(yùn)行

      終端調(diào)試

      我相信,這樣的配置不僅完美的適合小型項(xiàng)目的編寫,還能極大的提升對代碼的敏感和熱愛。至少,這種解決方式,比 Dev C++ 和 VC 6.0 體面,也比 Visual Studio 和 CLion 純粹、輕量。

      感謝閱讀。

      鞠躬。

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多