从C++源代码打开emacs组织模式文件并自动创建项目

Ala*_*ing 8 c++ emacs org-mode

我正在研究一个C++项目.假设我有以下目录结构:

project/
project/src
Run Code Online (Sandbox Code Playgroud)

我有以下文件:

project/ChangeLog
project/todo.org
project/src/foo.cpp
Run Code Online (Sandbox Code Playgroud)

我可以在C++源代码的工作foo.cpp,然后添加一行到changelog文件只是C-x 4 a这个页面描述.

如何在文件上使用org-mode实现相同类型的功能todo.org.我想保留相对于源代码的待办事项列表.因此,如果foo.cpp我需要完成一个函数,void Foo::bla()我希望添加一个条目来todo.org提及此函数及其所在的文件,就像C-x 4 a对ChangeLog一样.

我还希望能够将org文件中的后向链接添加到待foo.cpp执行任务所在的文件中.

Dav*_*her 10

虽然org-mode被广泛记录,但我发现在线手册非常密集.幸运的是,网上有很多很好的教程,但有时很难找到特定问题的答案.

我建议阅读有关Capture的组织模式手册部分.您需要进行一些设置,具体取决于您拥有的org-mode版本.(我建议使用7.x.如果你坚持使用6.x,我在下面描述的捕获设置都不起作用.)

这是我的emacs设置中的一个简单片段:

;;; capture mode

(setq org-default-notes-file (concat org-directory "/capture.org"))
(define-key global-map "\C-cc" 'org-capture)

(setq org-capture-templates
      '(("t" "Todo" entry (file+headline org-default-notes-file "Tasks")
     "** TODO %?\n  %i\n  %a")
        ("j" "Journal" entry (file+headline "~/journal/journal.org" "Today")
     "** %?\nEntered on %U\n  %i\n  %a")))
Run Code Online (Sandbox Code Playgroud)

现在我C-c c在我的源文件中点击了.组织模式允许我选择一个模板([t] odo或[j] mynal在上面的例子中),并填写它包括我启动捕获时我所在的行的链接.


更新了有关Refiling的信息:如果您有多个项目并希望保留单独的待办事项列表,您还应该了解Refiling.最简单的设置是org-refile-targets包含todo.org文件的列表.在捕获过程中,您可以将任务直接"重新""转换为任何refile目标.

(setq org-refile-targets 
  '((nil :maxlevel . 2) 
    ("~/project/todo.org" :level . 1)))
Run Code Online (Sandbox Code Playgroud)

关于org-mode,这个页面上有一个很好的捕获和重新演绎的演练.