支持混合空格和制表符的c#编辑器?
对于C++/C#/Java等语言(以及Python/Ruby/等),是否有任何文本编辑器(适用于Windows)支持良好的混合空格和制表符
i、 e.制表符将用于缩进,空格将用于对齐
例如,假设→
表示选项卡,.
表示空间,■
表示光标的当前位置
如果我的文本编辑器中有以下内容:
template<class T1,
.........class T2>
class Foo
{
→ template<int M,
→ .........int N>
→ void foo(int bar,■
}
我希望能够按下⏎ 输入键,然后查看:
template<class T1,
.........class T2>
class Foo
{
→ template<int M,
→ .........int N>
→ void foo(int bar,
→ .........■
}
在此之后,我应该能够键入下一个参数,关闭括号,然后按⏎ 输入,并使用制表符/空格使光标自动返回到正确位置,如图所示:
template<class T1,
.........class T2>
class Foo
{
→ template<int M,
→ .........int N>
→ void foo(int bar,
→ .........int baz) {
→ → ■
}
当然,如果我按了Backspace或Shift Tab或其他任何键,它应该会清除到相应的停止位置——这可能是与当前缩进类型相同的缩进的开始。诸如此类
注:
我意识到许多编辑器(SciTE、Visual Studio,可能还有Emacs、Vim等)都可以使用正则表达式(或原始解析代码)编写脚本来完成80%的工作
但是我正在寻找一些更强大的支持,以及对当前语言的词法分析支持,以确定要做什么。毕竟,首先修复编辑器错误应该不会比手动缩进更难——否则我只会手动操作,而不会使用该功能
# 1 楼答案
不确定这是否符合回答条件。然而,我对当前vimrc的gvim完全符合您对选项卡和空格的要求。 我强烈建议使用Gvim。这是个人选择的问题,可能有更好或更差的编辑
您可以使用
se syn=
命令突出显示vim上的任何语言你找不到的是词法分析支持或intelli sense——至少是可用的方式
看一下屏幕截图。这里有一个链接到我改编的vimrc
编辑我真的怀疑是否存在所谓的编辑乌托邦。你可能需要在“适合工作的正确工具”原则的基础上取得平衡