日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

自创小插件让emacs支持工程项目

發(fā)布時(shí)間:2025/3/15 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自创小插件让emacs支持工程项目 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

在emacs下一直沒有找到合適的工程項(xiàng)目類插件,于是自己寫了一個(gè)。主要的痛點(diǎn)如下:

  • 配置clang補(bǔ)全的時(shí)候需要指定搜索頭文件的路徑,沒辦法在.emacs文件里把所有的路徑都加上,并且每次新創(chuàng)建一個(gè)工程項(xiàng)目的時(shí)候就要修改一次emacs配置文件實(shí)在是太痛苦了
  • 由于開發(fā)機(jī)器不是linux,所以不能在本地編譯,需要本地編輯完成后上傳到開發(fā)機(jī)上編譯(不想用tramp,因?yàn)椴恢皆趺丛谶h(yuǎn)程編輯的時(shí)候配置補(bǔ)全,估計(jì)就算折騰成功后也會(huì)很慢;沒法mount遠(yuǎn)端目錄到本地,因?yàn)榫W(wǎng)速太慢;不想在遠(yuǎn)程shell里面使用emacs,那個(gè)神奇的平臺(tái)沒有編譯好的emacs包)
  • 插件的主要功能:

  • C-x p 打開一個(gè)項(xiàng)目,項(xiàng)目的定義文件存放在一個(gè)特定目錄下,用lisp來描述加載這個(gè)項(xiàng)目的時(shí)候需要執(zhí)行的初始化操作。
  • 提供函數(shù) proj-save-rsync 用來保存當(dāng)前所有的 buffer 并調(diào)用一個(gè)腳本講本地的源碼上傳的遠(yuǎn)程開發(fā)機(jī)器。
  • 插件安裝方法:

  • 復(fù)制下面的代碼到 .emacs 中:
    (defun proj-save-rsync ( ) "Save buffers and do a command."(save-some-buffers)(shell-command proj-rsync-script )(interactive) )(defun proj-load (arg)(interactive(list(completing-read "Choose one project: " (directory-files "~/.emacs.d/projects" nil "\\.el$") )))(load (concat "~/.emacs.d/projects/" arg));(insert arg))(global-set-key (kbd "C-x p") 'proj-load) (global-set-key [f8] 'proj-save-rsync)
  • 創(chuàng)建目錄 mkdir ~/.emacs.d/projects
  • 創(chuàng)建一個(gè)工程
    創(chuàng)建一個(gè)工程其實(shí)就是在 ~/.emacs.d/projects 里面創(chuàng)建一個(gè) projectname.el 文件,里面的內(nèi)容愛寫啥就寫啥,使用C-x p打開這個(gè)項(xiàng)目的時(shí)候會(huì)執(zhí)行這個(gè)projectname.el。下面是我的一個(gè)項(xiàng)目文件:
    (setq proj-root "/path/to/the/source/root") ;配置項(xiàng)目root path (setq proj-rsync-script "/rsync/script.exp") ;設(shè)置上傳代碼的腳本 (proj-ac-config proj-root) ;自定義的一個(gè)函數(shù),設(shè)置clang搜索頭文件時(shí)候的路徑 (find-file proj-root) ;打開project的root path (cscope-set-initial-directory proj-root) ;初始化cscope (cscope-index-files proj-root)

  • 轉(zhuǎn)載于:https://my.oschina.net/u/575122/blog/151835

    總結(jié)

    以上是生活随笔為你收集整理的自创小插件让emacs支持工程项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。