簡體   English   中英

從ede獲取項目根目錄

[英]Getting project root from ede

我正在嘗試從ede對象獲取項目的根。 我讀過有關這個問題的有趣討論。 我使用了David的一個示例,該示例似乎工作得很好,除了它僅適用於項目中已打開文件的緩沖區。 我想讓這種從重復模式或我決定的其他模式返回的項目根源。 可能嗎? 這是我使用的代碼:

(defun my-get-project-root ()
(interactive)
(let ((proj ede-object-root-project))
  (if proj
  (message "Project root: %s"
           (ede-project-root-directory proj))
    (message "No project for this buffer."))))

因此,當從干燥模式運行該實例時,我得到:“此緩沖區無項目”消息。

我知道可以使用其他一些工具來實現,但是我已經使用cedet進行項目管理。

您可以使用類似:

(defun get-project-root-dir ()
  (interactive)
  (let* ((fname (or (buffer-file-name (current-buffer)) default-directory))
     (current-dir (file-name-directory fname))
         (prj (ede-current-project current-dir)))
    (when prj
      (ede-project-root-directory prj))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM