【问题标题】:Method List in Visual Studio CodeVisual Studio Code 中的方法列表
【发布时间】:2023-03-08 19:50:01
【问题描述】:

我最近开始使用 Visual Studio Code 编辑器。我真的很喜欢它,但有一个(对我而言)我无法找到的关键功能。是否有方法列表,类似于 NetBeans 中的 Navigator 或 Visual Studio 中的 Member 下拉列表?

【问题讨论】:

  • 这个缺失的功能正在github.com/Microsoft/vscode/issues/5605进行跟踪
  • 我没有答案,也无法得到此页面上的任何建议来工作,所以我使用免费版本的 CodeLobster,并且已经使用了多年。它非常容易学习,并且有大量的智能感知框架。它还显示了具有不同脚本语言(即 PHP 和 Javascript)的页面的功能和方法。
  • 不幸的是,侧边栏中的 Outline 和 Ctrl+Shift+O+: 似乎都无法通过符号的可见性过滤符号(例如,只有 public 的符号)。 vscode 的 GitHub 上也有问题(例如issueissue),但它们都已关闭,因为据说它们是重复的,而我找不到主要问题。谁能找到主要问题以便我支持它?

标签: visual-studio-code


【解决方案1】:

是的,有workbench.action.gotoSymbol 命令。在 Windows 和 Linux 上,默认设置为 CTRL+Shift+O

如果此命令不适用于您正在使用的文件类型,那么您应该查看VSCode extensions。并非所有语言都支持此功能。

【讨论】:

  • 嗯,不是我希望的行为。我尝试了几种文件类型:在 C++ 文件中,它显示“不幸的是,我们没有文件的符号信息”,而在 Python 中,它显示“Python 扩展中出现错误”。
  • 好吧,该死,看来我倒霉了。我尝试了不同的 Python 扩展,现在我收到“无符号信息”错误。 :( 不过感谢您提供的信息。
  • 这是symbols for PHP
  • 添加到这个,如果你在Ctrl+ Shift + O之后按:,结果将按类型分组,将所有功能都列在一个子列表中。
  • 对于 macOS 用户,Cmd + Shift + O
【解决方案2】:

更新:正如@jeff-xiao 在 cmets 中所述,此扩展已弃用,现在是 built in feature of Visual Studio code。它应该在文件资源管理器的底部作为“大纲”视图可用。

上一篇: 现在有一个扩展支持这一点。 Code Outline 在“资源管理器”部分创建一个面板,对于 JavaScript,将列出文件中的变量和函数。我已经使用了一段时间了,它会抓挠我的痒。其他评论者提到它很好地支持 Python 和 PHP。

它似乎仍在开发中,但我没有遇到任何问题。开发版可用on GitHub。如果您是阅读本文的作者 - 谢谢!

看起来是这样的:

如果代码大纲不可见,您可以通过以下方式显示它:

【讨论】:

  • 很好的调用,与 JavaScript 配合良好,无需寻找隐藏的键盘快捷键,很好。
  • 扩展名已弃用:已弃用。请使用 Visual Studio Code 自带的Outline view
  • 不支持在 Python 中查看类的所有方法,我是否正确?
  • 我猜有时大纲视图不会显示 python 文件的任何内容。
  • C++有这样的选择吗?
【解决方案3】:

调用代码的Go to symbol 命令:

  • macOS:cmd+shift+o(字母o,非零)

    李>
  • Windows/Linux:ctrl+shift+o

在调用 Go to symbol 后键入冒号 (:) 将按类型(类、接口、方法、属性、变量)对符号进行分组。然后只需滚动到methods 部分。

【讨论】:

  • 确认它也适用于 PHP,但请注意我安装了 PHP 智能感知插件。我不知道这有什么不同。
  • 必须有一种简单的方法来查看方法。滚动浏览一堆其他东西的列表以找到方法部分是一种痛苦。如果无法做到这一点,应该有人制作插件来做到这一点。
  • 输入 @ 而不是 : 用于 Go 函数列表
  • 如果不适用于 PHP,那么请确保您有 'PHP Symbols' 插件并且可以正常工作。
【解决方案4】:

2020版VSCode
Cmd+P

  • # - 跨文件查找符号
  • @ - 在文件中查找符号
  • @: - 在文件中分组符号

【讨论】:

  • 谢谢,这很方便!
  • 这不是我最初看的,但它好多了
【解决方案5】:

VSCode 1.24 你可以这样做。

右击侧边栏的EXPLORER,勾选Outline

【讨论】:

  • 无法使用outline探索js类的方法!
  • 适用于 Java!我用的是vscode 2020更新版
  • 但这是一个大纲,它显示的不仅仅是方法,比如编辑窗口上方方便的下拉框。无需借助快捷方式和额外的输入来获得我想要的东西。 edit 嗯..面包屑其实更符合它,如果你已经在一个例程中,你可以点击面包屑,它会弹出一个下拉框..
【解决方案6】:

有一个新版本可以做到这一点! 在这里查看the latest release notes regarding code outline

【讨论】:

    【解决方案7】:

    更新:扩展功能现已内置,扩展本身现已弃用

    我找到了这个扩展名:Code Outline。 看起来是这样的:



    我相信这就是您一直在寻找的。

    【讨论】:

    • 此扩展已不存在。我认为它尚未发布,因为该功能现在已内置在 VSCode 中。
    【解决方案8】:

    今天没有这样的功能, CTRL+SHIFT+O == CTRL+P @ 没有适用于所有语言。

    作为最后的手段,您可以使用搜索面板 - 虽然它不像您希望的那样快速且易于使用 - 您可以在搜索面板中输入此正则表达式以查找所有功能:

    function\s([_A-Za-z0-9]+)\s*\(
    

    【讨论】:

    • 这行不通,因为我们可以在 JavaScript 中编写 name = functionname: function(内部对象)和箭头函数
    【解决方案9】:

    对于 PHP 用户:)

    1. 确保你有 'PHP Symbol' 插件,然后你就可以在 'OUTLINE 中获取所有方法和类'侧边栏底部。

    2. 在“macOS”中按 ⌘ 命令 + ⇧ shift + OCtrl + Shift + O 同时使用“Windows”

    大纲:

    @符号:

    【讨论】:

    • 这很好用。
    【解决方案10】:

    Visual Studio Code 市场有一个非常好的扩展名为 Go To Method,用于在代码文件中导航 only 方法。

    点击 Ctrl+Shift+P 并输入install extensions 并按回车键

    现在在扩展市场的搜索框中输入Add to method,然后按回车。

    点击安装来安装扩展。

    最后一步是将键盘快捷键绑定到命令workbench.action.gotoMethod,使其成为开发人员真正的生产力。

    【讨论】:

      【解决方案11】:

      这是对这个问题的答案的额外部分,但我认为它可能有用。正如许多人提到的,Visual Studio Code 具有OUTLINE 部分,它提供了浏览不同功能并将它们显示在侧面的能力。

      我还想补充一点,如果您选中跟随光标标记,它会在 OUTLINE 视图中突出显示该函数名称,这对于浏览和查看您所在的函数非常有帮助。

      【讨论】:

        【解决方案12】:

        Open symbol by name : CTRL+T 可能是您正在寻找的东西。与我的 TypeScript 项目完美搭配。

        【讨论】:

          【解决方案13】:
          ctrl+shift+o // This should work for javascript files by default
          

          对于 PHP 安装扩展 PHP SYMBOLS

          为 PYTHON 安装扩展 PYTHON

          在重新加载时,这会正常工作

          【讨论】:

          • 您也可以使用Ctrl+P 并输入@ - 这会列出文件中的所有函数/符号。当输入@function_name 时,会在符号上进行模糊字符串搜索。
          • 是的好建议.. 但你知道它需要两个步骤,而 ctrl+shift+o 是一个步骤。 :)
          【解决方案14】:

          有一个名为show functions 的插件,它列出了文件中的所有函数定义。它还允许您对函数进行排序,以便轻松搜索它们。

          【讨论】:

          【解决方案15】:

          内置代码 OUTLINE 现在可用于 VS 代码

          【讨论】:

            【解决方案16】:

            CTRL+F12CMD+F12 for Mac)-为我打开所有方法和成员PHP 类。

            【讨论】:

            • 不起作用,您确定您没有使用任何扩展程序吗?
            【解决方案17】:

            对于所有文件中的查找方法,您可以按CTRL + P,然后使用#开始搜索

            示例:#signin

            【讨论】:

              【解决方案18】:

              对于浏览器视图中的python,点击OUTLINE如下:

              【讨论】:

                【解决方案19】:

                看看Show Functions 插件。 它可以通过可配置的正则表达式列出函数、符号、书签。正则表达式是一个真正的节省者,特别是当您不使用主流语言并且 CodeOutline 无法完成工作时。 看到带有这些功能的拆分窗口很难看(CodeOutline 似乎集成得更好),但至少有一些东西可以使用

                【讨论】:

                  猜你喜欢
                  • 2016-08-15
                  • 2018-06-28
                  • 2017-09-07
                  • 2018-11-16
                  • 1970-01-01
                  • 2020-04-01
                  • 2016-07-19
                  • 2020-01-16
                  • 2020-10-14
                  相关资源
                  最近更新 更多