Visual studio 升华文本2是否具有类似于VisualStudio的区域代码功能?

Visual studio 升华文本2是否具有类似于VisualStudio的区域代码功能?,visual-studio,sublimetext2,minimize,region,folding,Visual Studio,Sublimetext2,Minimize,Region,Folding,在VisualStudio中,您可以使用区域最小化大块代码;它们基本上只是围绕代码,并在窗口中将其最小化 Sublime有类似的功能吗?官方网站上有一个“要求功能”的请求 但显然: 仅供参考,Jon已声明,在当前情况下,这是不可能的 编辑器控件的实现。看来我们要等到V3了 伙计们 Jon是Sublime Text 2的程序员 可能有一种方法可以通过创建一个插件来伪造它,该插件可以查找标记并删除标记之间的代码区域,但它可能看起来不太好。使用当前的API,这可能是您最好的选择 顺便说一下,升华文本中

在VisualStudio中,您可以使用区域最小化大块代码;它们基本上只是围绕代码,并在窗口中将其最小化


Sublime有类似的功能吗?

官方网站上有一个“要求功能”的请求

但显然:

仅供参考,Jon已声明,在当前情况下,这是不可能的 编辑器控件的实现。看来我们要等到V3了 伙计们

Jon是Sublime Text 2的程序员

可能有一种方法可以通过创建一个插件来伪造它,该插件可以查找标记并删除标记之间的代码区域,但它可能看起来不太好。使用当前的API,这可能是您最好的选择


顺便说一下,升华文本中有一些代码折叠,如果您将鼠标悬停在行号旁边,您将看到在可以折叠/展开时出现一些箭头。

默认情况下,您可以选择一些代码,转到
编辑>代码折叠>折叠。
有大量插件利用代码折叠api提供更多选项。

我最终使用了自定义注释标记,比我要折叠的代码缩进了一级它看起来不是最好的,尽管它符合它的目的

class Foobar {
    // ...some code

// <fold
    function foo() {
    }
    function bar() {
    }
// </fold

    // more code...
}
class Foobar{
//…一些代码

//如果你沉迷于意图,这个解决方案可能会让你感到不舒服,但事实就是这样,很久以前,当我编写一个半复杂的jQuery插件时,我有常量、变量、私有函数和公共函数部分以及类似的折叠

;(function($, undefined, window) {...

/* Consts */

    var FOO = "BAR";

/* Variables */

    var m_Foo = "bar";

/* Functions */

    /* Public Functions */

        function foo() {...}

        function bar() {...}

    /* Private Functions */

        function _foo() {...}

        function _bar() {...}

})(jQuery, window);
正如您所看到的,这一切都是关于编辑的。节可以折叠;
常量
变量
函数
。在
函数
节中,
公共函数
私有函数
都可以折叠


您还可以使用单行注释(//)因此,下面的想法很简单;ST2认为更多的预期行属于它们上面的第一个预期较低的注释,就像C/C++编译器如何将括号作为自己的唯一代码块处理一样。

查看您要查找的内容。您可以为每种语言定义#region和#endregion标记,或者为所有语言定义通用标记f他们。

折叠代码选择代码并按

ctrl+shift+[

要展开
,代码将光标放在那里,然后按


ctrl+shift+]

在升华文本中,它是这样工作的,它对要折叠的行进行着色,然后按(Control+shift+?)


我有最新版本的SublimateText。

在支持3种注释类型的语言(例如PHP)中,我对区域使用了hashtag注释,如其他答案所示。它还有助于跟踪正在进行的操作

# default options
    $a = 3;
    $b = 'bob';


$old_code = 1;

# bugfix #130
    $result = magic_function($data);
    fix_stuff($result);

$old_code = $result;

否则使用三斜杠
//
,或
/#
等。

我想像我一样,OP已经开始欣赏VS中一个鲜为人知的功能,叫做,很多功能等同于代码折叠,但功能更强大,而且更高。迪奥冯提供了我想要的答案,我怀疑OP想要的,但他没有答案是这样的

升华文本中提供的“代码折叠”之间的区别在于,它基于代码/编译器语法,而“区域”和该插件所做的,允许您无限地自由,尽管这种自由或多或少取决于您开始使用的代码(深度嵌套或适当模块化)


如果您使用的是Sublime Text 3,以下是一个插件: –迪丰


只是澄清一下,这是Visual Studio的一个功能,而不是C#。似乎有一些“代码折叠”功能,但它似乎不像在VS中那样工作。只是一个旁注:拒绝。如果您使用的是Sublime Text 3,这里有一个插件可以做到这一点:我会假设您是那种在没有提供评论的情况下否决我的人。您能为给定问题提供解决方案吗,这是Visual Studio中的
区域
?请指向一个插件可以做到这一点,谢谢。否决票是因为错误信息。你引用了一个关于代码折叠没有实现的非常古老的源代码。Jon后来改变了主意,在ST2中添加了对代码折叠的完全支持(API在这里:)。你能澄清一下你在VS中所说的
区域
是什么意思吗?我不太熟悉,特别是因为
区域
在ST中的意思不同。Visual Studio中的区域是用
#region RegionName
/
#endregion
标记定义的。我经常使用ST2nd还没有看到这样的插件。使用ST2区域可以添加这些区域,但在
API
级别上,无法手动触发“折叠箭头”为了提供良好的集成,这就是为什么我说它看起来可能不会太好的原因。嗯,用一个插件做起来似乎真的很简单。现在我知道有几个插件提供了这个功能(另外,它们做了很多多余的事情)但它们是由键盘驱动的。在我看来:BracketHighlighter 2 beta版允许折叠自定义区域,这样你就可以添加#区域和#endregion。RegReplace也允许自定义折叠区域,但它有点复杂。不过,制作带有鼠标映射的自定义插件不会有太多工作。我会看看我能想出什么。MST3有什么变化吗?为什么这样做/那叫什么?b/c工作吗?它被认为是一个基于缩进的代码块?很难看,但它工作得非常好。谢谢!“大量代码使用区域”“区域”如中所示:我使用相同的标准,但您的回答没有说明如何添加该功能/行为,只是您的约定。
# default options
    $a = 3;
    $b = 'bob';


$old_code = 1;

# bugfix #130
    $result = magic_function($data);
    fix_stuff($result);

$old_code = $result;