4

像 PyCharm 之类的一些 IDE 提供了使用 # TODO 标签标记部分源代码的能力,并能够在以后进一步定位所有标签。

提交到 Butbucket 或 Github 后,有什么方法可以将它们转换为“问题”?

我发现在编写代码时动态创建 TODO 可能非常有用,因此其他贡献者可以在在线存储库(如 Bitbucket)上查看它们。

Bitbucket 和 Github 有很多插件或“服务”,但我在任何地方都找不到类似的功能。

4

3 回答 3

2

有一个名为 Todofy ( https://todofy.org ) 的基于云的解决方案,它列出了存储库中的所有待办事项,并一直跟踪其状态直到完成(从代码中删除)。它提供了更多功能,例如添加截止日期、提醒、分配某人或将某人带入讨论、标签等。

带有修饰符的示例注释(C++ 样式注释)

// TODO: something has to be done quickly @deadline: 1 week
// @assign: mebjas @priority: high

它有一个在 Github 中为它自动创建问题的选项。

于 2016-01-12T17:18:08.483 回答
0

我已经创建了一个节点模块来完全满足您的需要,为了使其适应您的使用,您必须创建一个 package.json 文件,其中提到您的 github 存储库的 url,然后您必须创建一个.fixme-to-issue 文件并包含您的 github 凭据以及注释的配置(如果模块找到 //TODO,它会创建一个带有标签 todos 的问题)。安装模块:

npm install -g fixme-to-issue
于 2017-03-21T11:17:33.697 回答
-2

这是一个非常严格的python脚本。它使用Githubpy与 github 交互。它遍历您当前的目录树并获取给定的文件(在本例中为 *.cpp 和 *.h)。然后它会遍历这些文件中的每一个,找到任何#TODO 并创建一个 github 问题。然后将该行更改为 TODO [GH]:

gh = GitHub(username=user, password=password)

path = '.'

configfiles = [os.path.join(dirpath, f)
    for dirpath, dirnames, files in os.walk(path)
    for extension in extensions
    for f in fnmatch.filter(files, ["*.cpp", "*.h")]

import fileinput
for fileName in configfiles:
    count = 0
    search = fileinput.input(fileName, inplace = 1)
    for line in search: #TODO [GH12]: to
        line = line.rstrip()  # remove '\n' at end of line
        if re.match("(.*)(\#)TODO:(.*)", line):
            todoInfo= re.sub("(.*)(\#)TODO:\s","", line)
            fileNameShort = re.sub("\.\/","", fileName)
            subject = fileNameShort+":"+str(count)+" " + todoInfo
            # make url that can link to specific place in file
            url = "https://github.com/"+projectAccount + "/" + project + "/blob/master/" + fileNameShort + "#L" + str(count)
            r = gh.repos(projectAccount)(project).issues.post(title=subject, body=url)
            line = re.sub("(\#)TODO:","#TODO [GH"+str(r.number)+"]:", line)
        print(line) #write line back to file
        count = count + 1

您可以访问我的 github 上的 who 脚本。https://github.com/jmeed/todo2github

于 2014-04-07T03:36:13.480 回答