日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自创小插件让emacs支持工程项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

在emacs下一直沒有找到合適的工程項目類插件,于是自己寫了一個。主要的痛點如下:

  • 配置clang補全的時候需要指定搜索頭文件的路徑,沒辦法在.emacs文件里把所有的路徑都加上,并且每次新創建一個工程項目的時候就要修改一次emacs配置文件實在是太痛苦了
  • 由于開發機器不是linux,所以不能在本地編譯,需要本地編輯完成后上傳到開發機上編譯(不想用tramp,因為不知到怎么在遠程編輯的時候配置補全,估計就算折騰成功后也會很慢;沒法mount遠端目錄到本地,因為網速太慢;不想在遠程shell里面使用emacs,那個神奇的平臺沒有編譯好的emacs包)
  • 插件的主要功能:

  • C-x p 打開一個項目,項目的定義文件存放在一個特定目錄下,用lisp來描述加載這個項目的時候需要執行的初始化操作。
  • 提供函數 proj-save-rsync 用來保存當前所有的 buffer 并調用一個腳本講本地的源碼上傳的遠程開發機器。
  • 插件安裝方法:

  • 復制下面的代碼到 .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)
  • 創建目錄 mkdir ~/.emacs.d/projects
  • 創建一個工程
    創建一個工程其實就是在 ~/.emacs.d/projects 里面創建一個 projectname.el 文件,里面的內容愛寫啥就寫啥,使用C-x p打開這個項目的時候會執行這個projectname.el。下面是我的一個項目文件:
    (setq proj-root "/path/to/the/source/root") ;配置項目root path (setq proj-rsync-script "/rsync/script.exp") ;設置上傳代碼的腳本 (proj-ac-config proj-root) ;自定義的一個函數,設置clang搜索頭文件時候的路徑 (find-file proj-root) ;打開project的root path (cscope-set-initial-directory proj-root) ;初始化cscope (cscope-index-files proj-root)

  • 轉載于:https://my.oschina.net/u/575122/blog/151835

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。