ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio Code 中的方法列表

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

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

w
wonea

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

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


嗯,不是我希望的行为。我尝试了几种文件类型:在 C++ 文件中,它显示“不幸的是,我们没有文件的符号信息”,而在 Python 中,它显示“Python 扩展中有错误”。
好吧,该死的,看来我运气不好。我尝试了不同的 Python 扩展,现在我收到“无符号信息”错误。 :( 谢谢你的信息。
这是symbols for PHP
除此之外,如果您在 Ctrl+ Shift + O 之后按 :,结果将按类型分组,这将在一个子列表中列出所有功能。
对于 macOS 用户,其 Cmd + Shift + O
u
user3731622

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

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

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

https://i.stack.imgur.com/D24i7.jpg

https://i.stack.imgur.com/ZaR8d.png


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

调用 Code 的 Go to symbol 命令:

macOS:cmd+shift+o(字母 o,不是零)

Windows/Linux: ctrl+shift+o

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


确认它也适用于 PHP,但请注意我安装了 PHP 智能感知插件。我不知道这是否有什么不同。
必须有一种简单的方法来查看方法。滚动浏览一堆其他东西的列表以找到方法部分是一种痛苦。如果不可能的话,应该有人制作一个插件来做到这一点。
键入 @ 而不是 : 用于 Go 函数列表
如果不适用于 PHP,那么请确保您有“PHP Symbols”插件并且可以肯定地工作。
m
maverickm

2020版VSCode Cmd+P

# - 跨文件查找符号

- 在文件中查找符号

@: - 在文件中分组符号

https://i.stack.imgur.com/emfR4.png


谢谢,这很方便!
这不是我最初寻找的,但它要好得多
H
Hossein

VSCode 1.24 中,您可以这样做。

右键单击侧栏上的 EXPLORER 并选中 Outline


我无法使用大纲探索 js 类的方法!
适用于Java!我正在使用 vscode 2020 更新版本
但这是一个大纲,它显示的不仅仅是方法,比如编辑窗口上方方便的下拉框。无需借助快捷方式和额外的输入来获得我想要的东西。 edit 嗯..面包屑其实更符合它,如果你已经在一个例程中,你可以点击面包屑,它会弹出一个下拉框..
此 OUTLINE 选项卡仅在安装 Ms Extension Pack for Java 后才显示 Java 方法。它没有列出 Kotlin 文件的任何内容,我想我需要为每一件事都获取扩展名……救救我 Jebus!
f
fkupper

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

https://i.stack.imgur.com/f5iEo.png


在安装正确的扩展之前,什么都不会显示。我得到了用于 Java 的 Ms Extension Pack,它现在列出了 Java 方法,但没有列出 Kotlin 方法。为每件小事安装扩展程序简直是愚蠢的。
d
ddsultan

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

我找到了这个扩展名:Code Outline。这是它的样子:

https://i.stack.imgur.com/ONbKd.png

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


此扩展不再存在。我认为它尚未发布,因为该功能现在已内置于 VSCode 中。
m
meJustAndrew

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

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

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

这是行不通的,因为我们可以在 JavaScript 中编写 name = functionname: function(对象内部)和箭头函数
N
Nono

对于 PHP 用户:)

确保您有“PHP Symbol”插件,然后您可以在“OUTLINE”侧边栏底部获取所有方法和类。在“macOS”中按 ⌘ command + ⇧ shift + O 或在使用“Windows”时按 Ctrl + Shift + O

大纲:@符号:


这完美地工作。
R
RBT

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

点击 Ctrl+Shift+P 并输入 install extensions 并按 Enter

https://i.stack.imgur.com/Rt8Vd.png

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

https://i.stack.imgur.com/2xb9M.png

单击安装以安装扩展。

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


w
wonea

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


A
Ahmad Ghadiri

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

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

https://i.stack.imgur.com/iXDfc.png


G
Grant Shannon

对于资源管理器视图中的 python,单击 OUTLINE,如下所示:

https://i.stack.imgur.com/x0q7h.png


D
David Oliver
ctrl+shift+o // This should work for javascript files by default

对于 PHP,安装扩展 PHP SYMBOLS

对于 PYTHON,安装扩展 PYTHON

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


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

https://i.stack.imgur.com/88tvQ.png


B
BK0090

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


欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及它存在的原因,然后引用您链接的页面中最相关的部分以防目标页面不可用。 Answers that are little more than a link may be deleted.
s
simhumileco

CTRL+F12(Mac 的 CMD+F12)- 为我打开 PHP 类中的所有方法和成员。


没用,你确定你没有使用任何扩展程序吗?
H
Hamed Naeemaei

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

示例:#signin

https://i.stack.imgur.com/r7JBX.gif


N
Nacho

观看此链接:https://code.visualstudio.com/updates/v1_40#_type-filters-for-outline-and-breadcrumbs

Explorer -> OUTLINE,您可以选择要显示的内容(仅在您的情况下使用方法和函数),结果类似于 Netbeans:

https://i.stack.imgur.com/Oscod.png


B
Ben

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