弹性制表符编辑器和插件
我做了相当多的谷歌搜索试图找到这个答案。有很多人问它:
- http://developers.slashdot.org/comments.pl?sid=414610&cid=21996944
- http://www.arguingwithmyself.com/archives/75-the-biggest-feature-your-editor-is-missing
- http://intype.info/blog/screencast-parser-in-editor/#comment-221
- http://codewords.wordpress.com/2006/10/16/eclipses-achilles-heel/
只是仅举几例...
所以我不t认为一个存在,对不起:(
问题是只有少数工具包/平台具有文本小部件,可以在不同的行上设置非统一的制表符。据我所知,这些工具包/平台是Java Swing(由弹性tabstops页面上的演示使用),GTK(由Gedit和Gedit插件使用),以及显然是新版本的Visual Studio(VS 2010)。
期待(最终)看到所有这些平台上的更多发展。
Code Browser支持elastic tabstops,但它似乎是目前支持它的Windows唯一的东西。不幸的是,它有一个unusual UI这可能使它不适合多人项目,甚至可能使您很难使用,即使没有其他编辑参与。
按照elastic tabtops website,他的工作对插件eclipse和Visual Studio 2010(尽管Eclipse插件停顿未决a bugfix,并jedit应该支持弹性制表位在即将到来的版本。
最后,虽然这可能ISN如果没有选项,您可以尝试运行x服务器(例如Windows计算机上的Cygwin/X或Xming和ssh)运行到Linux客户端(虚拟机或其他计算机)以运行Gedit。但这种方法存在许多问题:您需要将文件保存在单独的计算机上(可能使用Dropbox保留t下摆同步),通过SSH的X速度非常慢,并且您需要另一台计算机或虚拟机。
XMLQuire是一个为Windows开发的XML编辑器,用于展示虚拟格式。这个概念更进了一步比弹性制表位,压痕是简单地由解析器评估前面换行符的位置和嵌套级别和上下文的函数:
它的XML解析器确定嵌套级别并因此确定所需的缩进,不需要按下重新格式化键或制表键,在编辑,拖放等时,XML格式化只会重新排列。
这意味着XML总是正确缩进,但没有前导制表符或空格。这个概念也应该适用于更传统的代码(除了F#这类利用空格的语言之外),但这还没有被尝试过。
请注意,与弹性制表符不同,虚拟格式只能从左边距起作用,并且仅使用解析器上下文。然而,解析器上下文不仅仅是嵌套级别,而是诸如混合内容,节点类型,父元素名称长度和属性名称等因素。这允许对齐新行中出现的属性和属性值(如图所示)。
自动换行的文字只适合缩进方案。如果需要进一步的文本格式化,则用户以传统的方式添加空格字符。
与弹性制表符一样,当使用更传统的编辑器打开虚拟格式的文本时,存在潜在的问题。但是,由于没有为XML格式添加任何字符(全部都是虚拟的),传统编辑器可以根据该编辑器的设置简单地应用常规格式,使用制表符或空格。
这是一个被ferveo(Ramunas Geciauskas)对于Visual Studio 2010的一个弹性的制表位插件:
http://visualstudiogallery.msdn.microsoft.com/ccff2b55-201f-4263-aea5-3e66024d6c0e
是的,希望你能得到答案,因为我在Eclipse或Komodo中为此功能而死。 – 2008-10-16 21:59:19
注意:Sublime Text支持通过插件https://github.com/SublimeText/ElasticTabstops – Annan 2012-03-21 16:12:35
http://nickgravgaard.com/elastic-tabstops/#current-implementations – 2017-02-06 09:03:32