【问题标题】:Visual Studio identical token highlightingVisual Studio 相同标记突出显示
【发布时间】:2008-08-28 14:56:55
【问题描述】:

去年春天,我为大学课程用 Java 编写了一个 Mancala 游戏,并使用 Eclipse IDE 编写它。 Eclipse 中一个很棒的(而且相当简单的)视觉辅助工具是,如果您选择一个特定的标记,比如声明的变量,那么 IDE 将自动在屏幕上突出显示对该标记的所有其他引用。 Notepad++,我首选的记事本替代品,也可以这样做。

Eclipse 中另一个简洁且类似的特性是代码右侧的垂直“错误栏”(不知道该叫什么)。它为文档中的所有语法错误显示红色小框,为“已声明但未使用的变量”之类的警告显示黄色框,如果您选择一个单词,则在文档中每次出现该单词的栏中都会出现框。

这些功能的运行截图:

经过半小时的搜索,我确定 Visual Studio 无法自行执行此操作,所以我的问题是:是否有人知道 2005 年或 2008 年的任何加载项可以提供上述任一功能?

能够突出显示光标所在的当前行也很好。我相信加载项 ReSharper 可以做到这一点,但我更愿意使用免费加载项而不是购买一个。

【问题讨论】:

  • 希望我能投票一百万次。我讨厌视觉工作室如何做几乎所有事情。但至少这个问题/解决方案让我非常头疼。
  • Visual Studio 的最新版本具有这些功能以及更多其他功能。我认为突出显示可以追溯到 MSVS 2010。不确定滚动条——至少从 2012 年开始,我想。滚动条也有一些红色标记,对应于 intelliSense 认为有错误的行(通常是正确的,但并不总是正确的)。
  • 顺便说一句,有时我发现 MSVS 突出显示会分散注意力。任何人都知道如何关闭它,例如,当我只是想选择一些要复制或拖动的文本时?

标签: visual-studio visual-studio-2008 visual-studio-2005


【解决方案1】:

有一个名为 MetalScroll 的 RockScroll 替代品,它本质上是相同的,只是做了一些调整和改进。

还有一个小而简单的WordLight 插件,它只突出显示相同的标记。

两者都是开源的,并且支持代码折叠,这很好。

恕我直言,Eclipse 中滚动条旁边的栏比 RockScroll/MetalScroll 的滚动条替换要优雅得多。不幸的是,我找不到任何以 Eclipse 方式执行此操作的 VS 插件,所以我只坚持使用 WordLight。

【讨论】:

    【解决方案2】:

    检查以下插件 Productivity Power Tools- 在滚动条中显示错误和

    Highlight selected word

    【讨论】:

    • 我发现 Highlight Selected Word 和 Productivity Power Tools 不能很好地协同工作,所以我的建议是使用其中一个或另一个。此外,生产力电动工具中突出显示的背景颜色位于工具->选项->生产力电动工具->增强滚动条->与编辑器中插入符号位置颜色匹配的单词下。我发现那种很难找到,但那可能就是我。
    • 感谢这两者,Productivity Power Tools 在 VS2010 中运行良好,但默认情况下禁用相同的单词突出显示(颜色设置为透明),要启用它,您必须手动选择颜色,如 @MikaelHalen写。
    【解决方案3】:

    在另一个关于 SO (link) 的问题中,有人提到了 VS 2005 / VS 2008 插件“RockScroll”。它似乎提供了我在上面的问题中询问的“错误栏”功能。

    RockScroll

    编辑:RockScroll 也做了我正在寻找的相同标记突出显示!太好了!

    【讨论】:

    【解决方案4】:

    老问题,但是……Vis​​ual Studio 2010 终于内置了这个功能。

    【讨论】:

    • 我按了某个快捷键把它关掉了,你知道它在VS里叫什么吗?
    • 很遗憾,Visual Studio 2010 Express 似乎缺少此功能。 Express 版本作为单语言安装程序安装,因此在 VC++ 安装中,选项 -> 文本编辑器中没有 C# 条目,您可以在其中选择选项“突出显示对光标下符号的引用”。 :-(
    • @ChristianSeverin 我相信你可以安装 C# Express 版本和 C++ Express 版本,虽然不完全确定。
    • 如何获取 javascript 文件?
    【解决方案5】:

    突出显示功能在VisualAssist 中很方便地实现。 在我看来,它们都是必备的。

    1) 在编辑插入符号下突出显示标识符: 选项 -> 高级 -> 重构 -> 自动高亮对光标下符号的引用

    2) 突出显示搜索结果 - 在所有窗口中。适用于正则表达式! 选项 -> 高级 -> 显示 -> 突出显示查找结果

    【讨论】:

      【解决方案6】:

      关于 RockScroll:它不会突出显示标识符。它只突出显示源代码中的相同字符串!如果声明了类似的标识符:例如。 _test 和 test,并且 test 被突出显示,它也会突出显示变量 _test 中的字符串“test”!它还将在名为“sometesting()”的方法中突出显示相同的字符串。所以它不完全像日食,对我不起作用。

      【讨论】:

        【解决方案7】:

        自动突出显示在Visual Assist 中作为重构命令“查找引用”实现。它突出显示给定变量或方法的所有出现,但这不是自动的(绑定到我计算机上的键盘快捷键)。

        这是一个例子:

        【讨论】:

          【解决方案8】:

          DevExpress CodeRush 在光标位于标识符中时按 TAB 会执行此操作,然后您可以在所有突出显示的实例之间切换。还有一个 DXCore 插件(构建 CodeRush/Refactor Pro 的基础),可以突出显示当前行。

          【讨论】:

            【解决方案9】:

            JetBrains ReSharper 中提供了“错误栏”功能。我不确定它是否会突出显示对当前选定标识符的引用。

            【讨论】:

            • Visual Studio 键盘方案的默认热键是 Alt+Shift+F11
            【解决方案10】:

            仅针对选定单词的高亮功能,还有StickyHighlight

            StickyHighlight 支持 Visual Studio 2010 和 2012。

            【讨论】:

              【解决方案11】:

              在 VS 2017 中,这可以通过安装 Match Margin 插件来解决。

              它似乎是Productivity Power Tools 的一部分(其他功能可能值得一看),但令人惊讶的是,安装 PPT 并没有解决我的问题,我不得不单独安装 Match Margin。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2015-08-05
                • 2011-10-17
                • 2015-11-21
                • 2010-09-07
                • 2017-01-02
                • 2018-03-17
                • 2018-09-25
                相关资源
                最近更新 更多