如何在Visual Studio中突出显示用户指定的单词?

33

我的团队通常会在未完成的代码部分中使用TODO这个词。有没有一种方法可以将用户指定的关键字添加到Visual Studio中,以便以某种方式突出显示它们呢?例如,在vim中,TODO这个词会自动突出显示。

例如,我想看到像这样的东西:

//这是一个桩 -TODO:移动到另一个项目

9个回答

20
在“工具”菜单中,选择“选项” -> “环境” -> “任务列表”,您可以在此输入标记。这些标记将添加到任务列表中,但不会被突出显示。您可以使用其中一个可用的TODO高亮工具来实现突出显示。

2
我有TODO作为一个标记,但它没有在编辑器窗口中高亮显示...我需要改变其他什么吗?谢谢! - Beep beep
14
这不会在源文本中突出显示这些单词。它只会将它们添加到任务列表中。 - JaredPar

7

像其他人说的那样,你需要为VS安装插件(至少在VS2015中需要)来突出显示文本。对于那些使用Resharper的人:

从菜单中选择ReSharper -> Options -> Tools -> To-Do-Items。

添加你的新评论和模式。你可以通过编辑现有的评论来复制它。我为我的新评论使用了与Todo相同的设置:

Title: AnythingYouWant

Regular Expression: `(?<=\W|^)(?<TAG>AnythingYouWant)(\W|$)(.*)`

Put a check "In comments"

Color: Web->Blue

Icon: Normal

在你的代码中像这样使用:

// AnythingYouWant 这个注释会被突出显示为蓝色


5

5
Visual Studio支持通过托管包框架进行语法高亮的自定义。

3
只有通过扩展程序才能实现任务标记的高亮显示。
如果您使用商业版的ReSharper,它会用相同的颜色突出显示所有任务:字体和颜色 > ReSharper Todo 项。 ReSharper 还在垂直错误条上标记任务。
VS2015中可使用免费的Remarker插件: https://visualstudiogallery.msdn.microsoft.com/32af9cb5-bb6e-4f02-97c6-a172c3ac5445 或 VS2013版本: https://visualstudiogallery.msdn.microsoft.com/87813da0-8f1c-48a4-b1c4-85dfb7a269a9 可以使用不同的样式突出显示不同的任务标记。
对于VS2010-2013,则可以使用免费的VS10x Comments Extender插件,在2015版本中是私有测试版: https://visualstudiogallery.msdn.microsoft.com/17c68951-7743-40bd-ad35-608706f54a92

Remarker现在也支持VS 2015,而且运行得非常好,至少对我来说是这样。我强烈推荐它!看起来,在撰写此评论时,VS10x Comments Extender也可通过私有测试版在VS 2015中使用。更多详情请访问https://visualstudiogallery.msdn.microsoft.com/17c68951-7743-40bd-ad35-608706f54a92。 - Rockin4Life33
非常感谢。我已经更新了答案。我还为那些已经购买了 ReSharper 的人包含了 ReShaper。 - Dima Korobskiy
终于找到了我一直在寻找的答案 - 尽管对我来说不够完整。 - goku_da_master

3

在Visual Studio中:

转到工具 > 选项 > 环境 > 任务列表

在那里,您可以添加任何用户指定的单词,每次构建并查看任务列表时,它都会以与 //TODO: 相同的方式显示在您的任务列表中。


1
我发现并正在使用this可定制的评论高亮扩展程序,适用于VS 2010-2015。
从其描述中可以看出:“...您可以根据前景颜色格式化任务评论(TODO、HACK、UNDONE)。”

0

周围有很多这样的插件,但我发现最好、最简单的一个是wayou.vscode-todo-highlight。然而,看起来这个扩展的维护已经被放弃了。

设置简单明了易于使用,但不幸的是,开箱即用的示例设置(和文档)很糟糕,所以为了让生活更简单,只需将其复制/粘贴到您的(用户)设置JSON文件中即可。

在Win-10上,用户设置位于此处:
C:\Users\<username>\AppData\Roaming\Code\User\settings.json

//------------------------------------------
// wayou.vscode-todo-highlight
//------------------------------------------
// For colors, see: 
// https://dev59.com/lWIj5IYBdhLWcg3wMiUu
"todohighlight.isEnable": true,
"todohighlight.isCaseSensitive": true,
"todohighlight.keywords": [
    "ToDo",
    "DEBUG:",
    "REVIEW:",
    {
        "text": "NOTE:",                                                // 
        "color": "yellow",                                              // 
        "backgroundColor": "#006400",                                   // DarkGreen #FF006400 (argb)
        "overviewRulerColor": "grey",                                   // 
        "fontWeight": "bold",                                           // 
    },
    {
        "text": "HACK:",                                                // 
        "color": "#000",                                                // 
        "isWholeLine": false,                                           // 
        "fontWeight": "bold",                                           // 
        //"margin":  "5px",                                             // [padding, border, margin] Not working!
    },
    {
        "text": "TODO:",                                                // 
        "color": "red",                                                 // 
        //"border": "1px solid red",                                    // 
        "borderRadius": "1px",                                          //NOTE: using borderRadius along with `border` or you will see nothing change
        "backgroundColor": "rgba(4,4,4,.2)",                            // "rgba(0,0,0,.2)"
        "isCaseSensitive": false,                                       // 
        // Add other styling properties here. 
    }
],
//"todohighlight.keywordsPattern": "TODO:|FIXME:|\\(([^)]+)\\)",        //highlight `TODO:`,`FIXME:` or content between parentheses
"todohighlight.defaultStyle": {
    "color": "red",                                                     // 
    "backgroundColor": "#ffab00",                                       // 
    "overviewRulerColor": "#ffab00",                                    // 
    "cursor": "pointer",                                                // 
    "border": "1px solid #666",                                         // 
    "borderRadius": "2px",                                              // 
    "isWholeLine": false,                                               // 
    // Add other default styling properties here. 
},
"todohighlight.include": [
    "**/*.js",
    "**/*.jsx",
    "**/*.ts",
    "**/*.tsx",
    "**/*.html",
    "**/*.php",
    "**/*.css",
    "**/*.scss",
    "**/*.ps1"
],
"todohighlight.exclude": [
    "**/node_modules/**",
    "**/bower_components/**",
    "**/dist/**",
    "**/build/**",
    "**/.vscode/**",
    "**/.github/**",
    "**/_output/**",
    "**/*.min.*",
    "**/*.map",
    "**/.next/**"
],
"todohighlight.maxFilesForSearch": 5120,
"todohighlight.toggleURI": false
//------------------------------------------

注意:我没有包含外部的{}


0

正如其他人所回答的那样,对于使用ReSharper的人来说,他们的标签应该会自动高亮显示,但是设置标签的选项所在的位置称为“待办事项浏览器”。不确定自从其他答案以来是否有所改变,但想要补充一下,适用于2023年之后使用ReSharper的任何人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接