我如何在中获得轮廓视图 Windows的Sublime文本编辑器中?
迷你地图很有用,但我错过了传统轮廓(代码中所有功能的按顺序排列列表,它们以快速导航和定向的顺序显示)
也许有一个插件,插件或类似的东西?如果您可以简短地说出使它起作用所需的步骤,那也很好。
我如何在中获得轮廓视图 Windows的Sublime文本编辑器中?
迷你地图很有用,但我错过了传统轮廓(代码中所有功能的按顺序排列列表,它们以快速导航和定向的顺序显示)
也许有一个插件,插件或类似的东西?如果您可以简短地说出使它起作用所需的步骤,那也很好。
Answers:
按CTRL+ R或Mac的CMD+ R,以获取功能列表。这在Sublime Text 1.3或更高版本中有效。
包控制中提供了一个名为Outline的插件,请尝试! https://packagecontrol.io/packages/Outline
注意:它不适用于多行/多列模式。对于多行/多列的工作,请使用此fork:https : //github.com/vlad-wonderkidstudio/SublimeOutline
Shift
+ Alt
+ 1
或转到“视图->布局->单个”。要打开备份,请使用Ctrl
+ Shift
+,P
然后搜索Browse Mode: Outline
我简要介绍了SublimeText 3 API,并且view.find_by_selector(selector)
似乎能够返回区域列表。
因此,我认为可以显示一个文件轮廓/结构的插件是可能的。
一个显示如下内容的插件:
注意:在功能名称显示插件可被用作一种激励以提取类/方法的名称或ClassHierarchy提取轮廓结构
如果您希望能够打印出或保存轮廓,则ctr / command + r不是很有用。一个人可以对以下grep 或某些变体进行简单查找 ^[^\n]*function[^{]+{
它的进行,以适应您所使用的语言和情况。
找到所有内容后,您就可以将结果复制并粘贴到新文档中,并且根据功能的数量,可以花很长时间进行整理。
答案远非完美,特别是在注释中包含单词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){};