![]() |
1
16
我仍然希望看到一个流行的编辑器或IDE实现 elastic tabstops |
![]() |
2
5
Thinking with Style 建议使用您喜爱的文字处理软件,如Word或Writer。使用富XML创建程序代码,并使用XSLT提取编译器相关部分。“Office”软件将提供所有高级文本处理和格式设置功能。 |
![]() |
3
4
我原以为你会对这个建议不屑一顾,但这个想法确实有些道理。 代码编辑器中传统的“非比例”字体要求的主要优点是减轻了执行代码格式化的负担。 但是在现代IDE中出现的所有交互式自动格式化中,比例字体确实有可能提高代码的可读性(而不是像我相信许多纯粹主义者所期望的那样阻碍代码的可读性)。 一个叫 Roedy Green (以他的行为而闻名) how to write unmaintainable code Bali . 它并没有完全包括非比例字体,但它确实包含了非统一字体大小的想法。 还有这个短 Joel Spolsky post 发布到解决方案时,弹性制表位停止(如另一位评论员所述),这将有助于支持非比例(和可变大小)字体。 |
![]() |
4
3
@托马斯·欧文斯 没关系,这只是个人喜好,我们可以不同意。以你认为最好的方式编排,我会尊重它。我经常问自己“我应该如何格式化这个或那个东西?”我的答案总是格式化它以提高可读性,我承认这可能是主观的。 关于您的示例,我只是喜欢在右侧有一个对齐的列,它是对左侧代码的一种快速“索引”。话虽如此,我可能还是会避免对每一行都这样注释,因为代码本身不需要太多解释。如果是这样,我倾向于在代码上方写一段。 但是从原始海报上考虑这个例子。在我看来,在第二篇评论中更容易发现这些评论。
|
![]() |
5
2
@托马斯·欧文斯
是的,人们会把评论和声明排成一行,诸如此类。格式一致的代码更易于阅读,而易于阅读的代码更易于维护。 |
![]() |
6
2
我想知道为什么没有人真正回答你的问题,为什么被接受的答案与你的问题毫无关系。但无论如何。。。 比例字体 在Eclipse中,您可以在系统上选择任何字体。 设置缩进的制表位 在Eclipse中,您可以配置自动缩进,包括将其设置为“仅制表符”。 排列函数签名和赋值语句行 在Eclipse中,自动缩进可以做到这一点。 可以在点而不是固定字符位置中指定。 对不起,我认为Eclipse在这方面帮不了你。但它是开源的 粗体和斜体 Eclipse有这个功能。 各种字体大小甚至样式表都很酷 我认为Eclipse对于每种文件类型(例如Java源文件)只使用一种字体和字体大小,但是对于不同的文件类型,您可以有不同的“样式表”。 |
![]() |
7
1
当我最后一次看Eclipse时(很久以前现在!),它允许您选择任何已安装的字体。不太确定它是否支持使用制表位缩进的概念。
|
![]() |
8
1
我觉得这很不错。但是人们真的会这样排评论吗?对于我的行末注释,我总是使用单个空格,然后//或/*或等效空格,具体取决于我使用的语言。我从不试图把声明、评论或任何东西排成一行,我唯一见过的地方就是在教科书上。 |
![]() |
9
1
@布莱恩·恩辛克:我不觉得这样的代码更容易阅读。
对
我个人觉得第一行比第二行更容易阅读。 |
![]() |
10
1
你问题的缩进部分今天是在一个真实的产品中完成的,尽管可能比你想象的自动化程度更高,我提到的产品是一个 XSLT IDE ,但相同的格式化原则适用于大多数(但不是所有)常规代码语法。 这真的必须从中看到 video 为了了解这一切(对音乐背景很抱歉)。还有一个轻XML编辑器衍生产品, XMLQuire 下面的屏幕截图显示了在这个XSLT IDE中使用非常复杂的格式规则格式化的XML,其中所有缩进都是以字处理器的方式执行的,使用的是左边距,而不是空格或制表符。
为了强调这种格式概念,所有字符都高亮显示,以显示左侧边距延伸的位置,以保持缩进。我用这个词 虚拟格式 为了描述这一点,它不像弹性制表符,因为根本没有制表符,只有作为“段落”格式一部分的边距信息(此处使用RTF代码)。解析器在与语法着色相同的过程中不断地重新格式化。 这里没有使用比例字体,但它可能非常容易——因为缩进是以TWIPS设置的。编辑体验非常引人注目,因为当您重构代码(在本例中为XML)时,可能通过拖放或扩展属性值的长度,缩进只是重新流动以适应需要—没有可按下的tab键或“reformat”按钮。 因此,缩进是存在的,但字体工作是一个更复杂的问题。我对此进行了试验,但发现如果在键入时重新选择字体,代码的水平移动会太分散注意力-可能需要用户启动“格式化字体”命令。该产品还内置了用于注释代码的墨水/手写技术,但我还没有在实时版本中利用它。 |
![]() |
11
0
在我看来,有一个非常简单的解决方案:将单位空间定义为字体中最宽的字符。现在,按比例将除空格外的所有字符分隔开。如果行中所有前面的字符都是字体中最宽的字符,那么空格将占据尽可能多的空间,以便将下一个字符对齐。 即: iiii_空间_Foo
将“Foo”排成一行,“i”后面的空格比“x”后面的空格宽得多。 所以称之为弹性空间。而不是制表位。 如果你是一个聪明的编辑,请特别对待评论,但那只是肉汁 |
![]() |
12
0
他们的论点是,你看不出x是数组、列表还是其他IEnumerable。或者y是什么类型的。在我看来,不明确不是因为使用了var,而是因为选择了不明确的变量名。为什么不直接键入:
“但你仍然看不到选举结果的类型!”-这真的重要吗?如果要更改GetRegionalElectionResults的返回类型,可以这样做。任何IEnumerable都可以。 快进到现在。人们希望在类似代码中对齐注释:
因此,没有评论,一切都不清楚。如果不对齐这些值,就无法将它们与变量分开。但是你呢?这个怎么样(请忽略子弹)
如果你每一行都需要评论,那说明你做错了。“但你仍然需要调整价值观”——是吗?38和2有什么关系?
你不应该使用行到行的注释,你应该很少需要垂直对齐东西。很少,不是永远。所以我理解你们中的一些人是否喜欢单间距字体。我更喜欢字体Noto Sans或源Sans Pro的可读性。这些字体可从谷歌免费获得,类似Calibri,但设计用于编程,因此具有所有必要的特征:
|
![]() |
13
-1
比例字体的主要问题是它们破坏了代码的垂直对齐,这在编写代码时是一个相当大的损失。 垂直对齐允许轻松执行剪切、复制、粘贴、删除和缩进、取消缩进等块操作,从而可以操作跨越多行的矩形代码块。 作为一个例子,考虑这个代码片段:
在单间距字体中 = 和 大家排好队。 现在,如果将此文本放入 单词 并使用 比例字体 文本实际上变成了这样: 注: = 和 ; 不再排队:
随着垂直对齐的消失,这些漂亮的代码块实际上消失了。 此外,由于不再保证光标垂直移动(即,从一行到下一行的列数并不总是恒定的),因此编写用于操纵类似外观行的一次性宏脚本变得更加困难。 |
|
G Rover · 当单元格总数=0时,如何更改选项卡的颜色 7 年前 |
|
zekephp · PHP。txt到数组制表符分隔 7 年前 |
![]() |
amitairos · 角度取消聚焦选项卡并将焦点设置为其他选项卡 7 年前 |
![]() |
BobbyJones · 选择具有相同元素id的选项卡内容 7 年前 |
![]() |
chinmay · 如何在滚动时更新选项卡的值 7 年前 |