题
我真的很想看到一个成比例的字体IDE,即使我必须建立它自己的(也许可作为扩展到Visual Studio)。什么我基本上意味着是MS Word格编辑的代码这样的看起来像的印刷样式 C++编程语言编写的书.
我想设置标签停止对我的缩进和排签名功能和排分配发言,这可能是指定的中点,而不是固定角色的职位。我也喜欢粗体和斜体。各种字体大小,甚至样式表会很酷。
有没有人见过像这样的东西出来,或知道最佳的方式开始建立一个吗?
解决方案
我还是想看看一个受欢迎的编辑或IDE实施 弹性tabstops.
其他提示
思维的风格 建议使用你最喜欢的文字处理软件,如Word或作家。创建你的方案码富XML和提取物的编译器的相关章节与XSLT。"办公室"软件将提供所有先进的文本操纵和格式的特点。
我期望你会得到下改装成,并挑选在为这一建议,但有一些真正意义上的想法。
主要利用传统的'不成比例'的字体要求,编码是减轻负担的执行代码格式。
但所有的交互式自动格式中发生的现代IDE的,它真的很可能是一个比例的字体可以改善的可读性代码(而不是阻碍它,因为我敢肯定很多纯粹主义者所期望的).
一个人物叫 Roedy绿色 (着名为他的'如何写入不可维护的代码'条款)写了一个理论上的编辑/语言,根据Java,并呼 巴厘岛.它并不包括不成比例的字体,完全,但它没有包括的想法具有不均匀的字体大小。
此外,这短短的 乔尔Spolsky后 员额到一个解决方案,弹性表(如通过另一个commentor),将帮助与支持的非成比例(和变量的大小)的字体。
@托马斯*欧文斯
我没有找到代码格式等,更易于阅读。
这很好,这只是个人喜好和我们不同意。格式化的方式你认为是最好的我尊重它。我经常问自己,'我应该怎样的格式,这样或那样的事情?' 我的答案是永远到格式化,以提高可读性,这我承认可以是主观的。
关于你的样本,我只是喜欢有很好地对准列在右手边,其排序的一个快速的"指标"进入代码。说了这番话之后,我可能会避免发表评论的每一个线,无论如何,因为代码本身不应该需要很多的解释。如果它不我倾向于编写一个上述段落的编码。
但考虑到这一例从原来的海报。其容易点的意见在第二一一个在我的意见。
for (size-type i = 0; i<v.size(); i++) { // rehash:
size-type ii = has(v[i].key)%b.size9); // hash
v[i].next = b[ii]; // link
b[ii] = &v[i];
}
for (size-type i = 0; i<v.size(); i++) { // rehash:
size-type ii = has(v[i].key)%b.size9); // hash
v[i].next = b[ii]; // link
b[ii] = &v[i];
}
@托马斯*欧文斯
但是做人真的线评论了 喜欢吗?...我从来没有尝试 行了声明或意见,或 任何东西,只有地方我曾经 看到的就是在教科书。
是的人执行了意见和声明和各种各样的事情。一直很好格式的代码的更易于阅读和代码被更易于阅读是更易于维护。
我不知道为什么没有人真的回答了你的问题,以及为什么接受的答案并不真正具有任何与你的问题。但无论如何...
一个字体比例IDE
在日食你可以cchoose任何字体在你的系统。
设置标签停止对我的缩进
在日食可配置的自动缩进,包括其设置为"标签"。
排队签名功能和行分配的语句
在日食,自动缩进。
这可能是指定的中点,而不是固定角色的职位。
对不起,我不认为蚀可以帮助你。但它是开放源。;-)
粗体和斜体字的
日食了。
各种字体大小,甚至样式表会很酷
我认为,日食仅仅使用一种字号和字体大小的每个文件的类型(例如Java源文件),但你可以有不同"风格表"对于不同类型的文件。
当我最后一次看日食(一段时间以前是现在!) 它允许你选择任何已安装的字体工作中。不太确定它是否支持这一概念的缩进使用标签停止。
它看起来很酷,但是代码是肯定更加难以读...
。:这是一种整齐,国际海事组织。但是做人真的线的意见了喜欢吗?我的底线的意见,我始终使用一个单一的空间,然后//或/*或等同,这取决于语言的我的使用。我从来没有尝试排的声明或意见,或者任何东西,只有地方我曾经看过,是在教科书。
@布莱恩Ensink:我没有找到代码格式等,更易于阅读。
int var1 = 1 //Comment
int longerVar = 2 //Comment
int anotherVar = 4 //Command
与
int var2 = 1 //Comment
int longerVar = 2 //Comment
int anotherVar = 4 //Comment
我找到第一线更易于读取比第二线,个人。
在缩排部分的你的问题是今天在一个真正的产物,虽然可能甚至更大的的自动化水平比你想象的产物,我说的是一个 XSLT IDE, 但相同的格式原则将与大多数(但不是所有的)代码常规语法。
这真的有来看 视频 得到它的意义所有(很抱歉音乐回来-轨道)。还有一个光XML编的附产品, XMLQuire, ,作为一个技术示范.
下图显示了XML格式化,与相当复杂的格式规则在这XSLT IDE,所有缩进行文字处理风格,使用的左边-没有空间或标签字。
强调这种格式的概念,所有的人物已经突出显示左保证金延伸到保持压痕。我使用的术语 虚拟的格式 来描述这个-这是不一样的弹性标签停止,因为那里根本没有标签,只是保证金的信息的一部分'款'的格式(RTF代码被用)。解析持续地重新格式化,在相同的通行证作为语法的色彩。
一个字体比例没有被使用,但它可能已经相当容易的,因为压痕设缇.编辑的经验是相当令人信服的,因为你重构代码(XML在这种情况下),或许通过拖拉,或者通过延长的一个属性的价值、压痕只是重新流动本身以适应-有没有标签-钥匙"或"重新格式化'按钮按下。
因此,压痕是存在的,但是字体工作中是一个更复杂的问题。我已经尝试了这一点,但发现,如果字体被重新选为你的类型、水平转移的代码是太分散注意力-就需要用户发起的'格式的字体命令可能。该产品也具有墨/笔迹技术的内在代码注释,但我还要利用这个在现场释放。
人们都在抱怨意见不衬里。
在我看来,有一个非常简单的解决办法:定义的单元空间的最广泛的字符字体。现在,按比例空间的所有人物,除了空间。空间需要尽可能多的房间,所以如以下一个字,在那里它会是,如果所有前人物就行了广泛的字体。
即:
iiii_space_Foo
xxxx_space_Foo
将行了"Foo",与空间之后的"我"是更广泛的比之后的"x"。
所以叫它弹性空间。而不是标签-停止。
如果你是个聪明的编辑、治疗意见,但这只是肉汁
让我回顾一下论点有关使用'var'关键词。人恨它,并且认为它将使代码不太清楚。例如,你不知道类型在这样的:
var x = GetResults("Main");
foreach(var y in x)
{
WriteResult(x);
}
他们的论点是,你无法看到的,如果x是一阵,一个列表或任何其他类型.或是什么类型的y。在我看来unclearity没有出现使用var,但是从拿不清的变量名称。为什么不只是类型:
var electionResults = GetRegionalElactionResults("Main");
foreach(var result in electionResults)
{
Write(result); // you can see what you're writing!!
}
"但你还是看不到的类型的electionResults!" -它真的重要吗?如果你想改变的回报类型的GetRegionalElectionResults,你可以这样做。任何类型。
快进到现在。人们希望致意见的连接类似码:
int var2 = 1; //The number of days since startup, including the first
int longerVar = 2; //The number of free days per week
int anotherVar = 38; //The number of working hours per week
所以没有评论都是不清楚。如果你不齐的价值,不能分开他们从variales.但是你呢?这是什么(忽视的子弹请)
- int daysSinceStartup=1;//包括第一
- int freeDaysPerWeek=2;
- int workingHoursPerWeek=38;
如果你需要一个评论的每一个线,你在做的事情是错误的。"但是你仍然需要调整的价值观"-你呢?什么38必须做的2?
C#中的大多数代码块可以很容易地被排使用唯一标签(或真实的、倍数四位):
- var regionsWithIncrease=
- 从结果在GetRegionalElectionResults()
- 其结果。TotalCount>的结果>PreviousTotalCount&&
- 结果。PreviousTotalCount>0//只是新的区域
- 选择结果。区域;
- foreach(var区域在regionsWithIncrease)
- {
- 写信(区域);
- }
你不应该使用线路的评论和你应该很少需要垂直一致的东西。很少,不从来没有。所以,我明白如果你们有些人喜欢一个宽字体。我喜欢的可读性的字体诺Sans或源无亲。这些字体都可自由地从谷歌,和像宋体,但是设计用于编程,并因此拥有所有的必要特点:
- 大:;. 所以你可以清楚地看到差别
- 明显不同0Oo和不同的Il|
主要的问题成比例的字体是他们摧毁的垂直对准代码,这是一个相当重大损失,当它涉及到编写代码。
垂直排使得可以操作矩形区块的代码跨多个行通过允许块操作(如切割、复制、粘贴,删除和缩进,消缩进等是容易地执行。
作为一个例子考虑这段代码:
a1 = a111;
B2 = aaaa;
c3 = AAAA;
w4 = wwWW;
W4 = WWWW;
在一个单间隔的字体 = 和 ; 所有的线路。
现在,如果这个案文是loded入 字 并显示,使用 成比例的字体 该文本有效地变成这样的:
注: 额外的空白加以显示如何 = 和 ; 不再线:
a1 = a1 1 1;
B2 = aaaa;
c3 = A A A A;
w4 = w w W W;
W4 = W W W W;
与垂直排列了这些漂亮的代码块有效地消失。
还因为标不再是保证垂直移动(即列号并不总是不断从一线下)也使得它更加困难写扔掉宏脚本设计操纵类似的寻找线。