93

如何在Windows的sublime text editor中获得大纲视图?如何在崇高的texteditor中获得大纲视图?

小地图是有益的,但我错过传统的轮廓

也许有一个插件,插件或类似的(在我的出现,他们的快速导航和定位的顺序代码的所有功能klickable列表)?如果你能够很快列出哪些步骤是必须的以使其正常工作,那也是很好的。

在崇高的文本论坛上有一个duplicate of this question

+0

我为SublimeText添加了一个** [功能请求](http://sublimetext.userecho.com/topic/631908-/)**。随时为它投票。 – 2015-03-09 20:48:06

回答

216

命中CTRL +[R,或CMD + [R为Mac时,函数列表。这适用于Sublime Text 1.3或更高版本。

+0

听起来不错。但是当我按下ctrl-r时没有任何反应。我有一个PHP文件打开。我可以在菜单中找到命令吗?这是否工作没有插件? karlthorwald – user89021 2010-02-06 03:34:43

+0

我看了,但在密钥绑定文件中没有ctrl-r(在首选项下)。你有吗?如果是这样,哪个是“命令”呢? – user89021 2010-02-06 03:38:13

+6

Ctrl + r存在于当前的beta版本(http://www.sublimetext.com/beta)中,但不在1.2中 – jskinner 2010-02-06 23:09:04

13

我使用折叠所有动作。它会最小化所有的声明,我可以看到所有的方法/函数,然后展开我感兴趣的一个。

+8

从ST 3菜单:编辑代码折叠折叠全部。 快捷键Ctrl + k,1. Ctrl-k,j撤销 – wolfstevent 2014-03-07 00:19:34

7

我简要看一下SublimeText 3 apiview.find_by_selector(selector)似乎能够返回一个区域列表。

所以我想一个插件可以显示您的文件的大纲/结构是可能的。

会显示一些像这样的插件:

code outline

注:function name display plugin可以作为一个灵感,提取类/方法的名称或ClassHierarchy提取大纲结构

0

如果您想打印输出或保存轮廓,ctr/command + r不是很有用。 我们可以做一个简单的找到所有以下的grep^[^\n]*function[^{]+{或其变型的它,以满足您在工作的语言和情况。

一旦你自己找到所有你可以复制和粘贴新文档的结果和取决于函数的数量不应该花很长时间来整理。

答案远非完美,尤其是对于评论中有单词功能(或等同)的情况,但我认为这是一个有用的答案。

随着一个非常快速的编辑,这是我得到了我现在正在工作的结果。

PathMaker.prototype.start = PathMaker.prototype.initiate = function(point){}; 
    PathMaker.prototype.path = function(thePath){}; 
    PathMaker.prototype.add = function(point){}; 
    PathMaker.prototype.addPath = function(path){}; 
    PathMaker.prototype.go = function(distance, angle){}; 
    PathMaker.prototype.goE = function(distance, angle){}; 
    PathMaker.prototype.turn = function(angle, distance){}; 
    PathMaker.prototype.continue = function(distance, a){}; 
    PathMaker.prototype.curve = function(angle, radiusX, radiusY){}; 
    PathMaker.prototype.up = PathMaker.prototype.north = function(distance){}; 
    PathMaker.prototype.down = PathMaker.prototype.south = function(distance){}; 
    PathMaker.prototype.east = function(distance){}; 
    PathMaker.prototype.west = function(distance){}; 
    PathMaker.prototype.getAngle = function(point){}; 
    PathMaker.prototype.toBezierPoints = function(PathMakerPoints, toSource){}; 
    PathMaker.prototype.extremities = function(points){}; 
    PathMaker.prototype.bounds = function(path){}; 
    PathMaker.prototype.tangent = function(t, points){}; 
    PathMaker.prototype.roundErrors = function(n, acurracy){}; 
    PathMaker.prototype.bezierTangent = function(path, t){}; 
    PathMaker.prototype.splitBezier = function(points, t){}; 
    PathMaker.prototype.arc = function(start, end){}; 
    PathMaker.prototype.getKappa = function(angle, start){}; 
    PathMaker.prototype.circle = function(radius, start, end, x, y, reverse){}; 
    PathMaker.prototype.ellipse = function(radiusX, radiusY, start, end, x, y , reverse/*, anchorPoint, reverse*/){}; 
    PathMaker.prototype.rotateArc = function(path /*array*/ , angle){}; 
    PathMaker.prototype.rotatePoint = function(point, origin, r){}; 
    PathMaker.prototype.roundErrors = function(n, acurracy){}; 
    PathMaker.prototype.rotate = function(path /*object or array*/ , R){}; 
    PathMaker.prototype.moveTo = function(path /*object or array*/ , x, y){}; 
    PathMaker.prototype.scale = function(path, x, y /* number X scale i.e. 1.2 for 120% */){}; 
    PathMaker.prototype.reverse = function(path){}; 
    PathMaker.prototype.pathItemPath = function(pathItem, toSource){}; 
    PathMaker.prototype.merge = function(path){}; 
    PathMaker.prototype.draw = function(item, properties){}; 
4

命名一个插件大纲在包控制可用,试试吧! https://packagecontrol.io/packages/Outline

+1

注意:要退出Outline视图,请点击Outline选项卡中的小关闭按钮,然后按下'Shift' +'Alt' +'1'或去查看 - >布局 - >单。要打开它,请使用Ctrl + Shift + P然后搜索浏览模式:轮廓 – 2018-01-03 21:33:21