如何在Atom文本编辑器中跳转到类/方法定义?

and*_*eda 127 atom-editor

是否有捷径可寻?在Aptana上我使用了Control+ click,我希望有一种方法可以在Atom上做类似的事情.

Sit*_*ana 74

我有同样的问题,atom-goto-definition(包名称goto-definition)对我来说就像魅力一样.请尝试一次.您可以直接从Atom下载.

此套餐已弃用.请在Github中查看.

  • 这个已弃用的包的替代品是什么? (47认同)
  • 这是唯一适用于更大型项目的软件包.谢谢!我已经尝试过atom-ctags,symbol-get,goto包,但没有一个工作:-(.要么导致原子崩溃,要么花了太长时间. (2认同)

cor*_*opy 28

我认为"转到"软件包的问题在于它们会针对每种语言不同地工作.

如果您使用Javascript js-hyperclickhyperclick(因为代码链接已弃用)可能会满足您的需求.


使用symbols-view,让你的搜索和跳转到函数声明,但只是当前打开的文件.不幸的是,我不知道任何其他语言的等价物.

还有另一个软件包可用于Python:python-tools

随着2016年5月的,最近的Atom版本现在支持"去到" 本身.在此模块的GitHub存储库中,您将获得以下键的列表:

  • symbols-view:toggle-file-symbols显示当前文件中的所有符号
  • symbols-view:toggle-project-symbols显示项目中的所有符号
  • symbols-view:go-to-declaration跳转到该符号的光标下
  • symbols-view:return-from-declaration从跳转返回

截图

我现在只有Atom缺少一件事:鼠标点击绑定.如果有人想要关注该功能,Github上有一个未解决的问题.


Q-b*_*art 14

我也有同样的问题.我找到了解决方案:

CTRL+ALT+G
Run Code Online (Sandbox Code Playgroud)

更新:

感谢@Joost,安装Atom包python-tools以使其工作

  • 截至2016年7月11日,此命令似乎没有做任何事情. (14认同)
  • 只是因为你想知道它来自何处,`CTRL + ALT + G`是`python-tools`原子包中`goto:definition`的默认键绑定. (2认同)

Edo*_*rdo 11

该功能已经通过符号视图包存在于atom中,您无需安装任何东西.

您要搜索的命令是symbols-view:go-to-declaration(跳转到光标下的符号),默认情况下绑定到macOS上的cmd-alt-down和Linux上的ctrl-alt-down.

请注意,只有当您为项目生成标签时才能使用,无论是通过此包还是通过ctags(旺盛与否)

  • “ Linux上的** ctrl-alt-down **”-键的绝佳选择,并不是那样的键用于在工作区之间移动。该死的原子,为什么这么复杂。:-\ (3认同)

ken*_*orb 6

此功能已内置到Atom编辑器中(请参阅:symbols-view),但您需要为项目GH-9,GH-20生成ctags符号文件.

为此,安装ctags命令(例如brew install ctags在macOS上),然后:

  1. 在macOS上附加,链接或复制ctags-config到您的~/.ctags示例:

    ln -vs "$(find /Applications/Atom.app -name ctags-config -print -quit)" ~/.ctags
    
    Run Code Online (Sandbox Code Playgroud)
  2. 转到项目文件夹并运行:

    cd your/project/directory
    ctags -R .
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启Atom编辑器.


或者,您可以使用symbol-gen根据文件中的选项为项目生成ctags符号.ctags文件.您可以从安装它的Atom包管理方式:apm install symbol-gen.然后点击CMD- Alt- G为您的项目生成标签文件.


完成上述操作后,您可以使用上下文菜单中的"转至声明"选项.

在macOS上,您还可以使用以下键盘快捷键:

  • CMD- R跳转到当前编辑器中的函数/方法
  • Alt- CMD- Down去申报.