eclipse clean_Clean Sheet – Windows 10的人体工程学Eclipse主题

eclipse clean

Clean Sheet是适用于Windows 10的符合人体工程学的Eclipse主题。它基于干净,低眩光的外观和感觉,旨在减轻视觉疲劳和眼睛疲劳。 它融合了均衡的颜色选择,可以突出谐波语法并注重可读性。 除自定义滚动条外,它还努力满足现代美学要求。

这篇文章解释了该功能背后的想法,阐述了其当前的开发状态,并对未来的增强功能进行了展望。

为什么要使用另一个Eclipse主题?

在最近的过去,在使用计算机时,我经历了不止一次的严重,偏头痛样的头痛。 除了咨询眼科医生,这还促使我从人体工程学的角度重新考虑工作场所的配置。 我仔细检查了照明,坐姿,屏幕对比度和亮度,尤其是正在使用的软件,以减少不必要的负担。

作为Java开发人员,我可能最常使用的程序是Eclipse。 结合我认为可用的Eclipse主题与Microsoft的最新主题并不能很好地匹配,我认为有理由在充分考虑人体工程学原理的情况下创建一个新主题。 这就是我开始这个实验的方式。

下一节将概述导致初始版本的关键注意事项和实施策略。 由于我通常容易出错,所以我认为最好尽早发布该项目。 这样,其他人就可以同时受益并帮助纠正问题和误解。

符合人体工程学的清洁床单

当我想到创建符合人体工程学的Eclipse主题的想法时,我想知道从哪里开始。 作为开发人员,我问自己:Java IDE的外观应强调哪些最重要的活动? 我记得鲍勃叔叔曾声称程序员花费大量时间阅读代码:

阅读(代码)与写作所花费的时间比例远远超过10:1…
罗伯特·C·马丁,清洁法规

因此,应该优化工作台的外观以实现最佳的阅读体验,这是很自然的。 因此,回顾Windows 10内置主题的外观有些古怪,我将我的初步考虑重点放在了颜色对可读性的影响上。

灰色阴影

事实证明,由于颜色具有强烈的注意力转向效果,因此应谨慎使用它们。 太多不同的阴影会导致整体图像不舒服,并导致无效的眼部固定[WAND93]。 因此,Shneiderman [SHPH04]建议首先开发屏幕的单色图形设计,以明确单元之间的逻辑关系或其他相关关系表示。

这看起来是一种合理的方法,但是还有另一个方面需要考虑。 鉴于“深色” Eclipse主题的流行,似乎很重要的一点是,要就人机工程学阐明首选的文本对比模式。

白底黑字还是白底黑字?

假设已经按照人体工程学的建议适当调整了照明良好的工作场所,那么长期以来,通常的建议是使用黑白相间的颜色。 对这个主题进行了一些研究,最终说服了我也朝着类似的方向前进。 让我简要地解释一下此决定的一些理由,首先引用基于80年代行之有效的出版物的报价:

“但是,大多数研究表明,浅色背景上的深色字符优于深色背景上的浅色字符(刷新率相当高时)。 例如,鲍尔(Bauer)和卡沃尼乌斯(Cavonius)(1980)发现,参与者在浅色背景上用深色字符阅读文本时,阅读文本的准确性提高了26%。” [GRAVIG]

同时,似乎可以确定的是,通过“消色差”对比度可以实现最佳的可读性,同时又要尽可能地节省眼睛。 这些是浅灰色背景(尽管看起来几乎是白色,但要避免强烈的闪烁)与黑色或非常暗的字体颜色的组合[HOLL07]。 霍尔提到测试系列,测试系列表明纯黑色,深灰色或例如深绿色最适合于文本,符号,线条和类似的前景主题。

黑与白vs黑与白

自己决定,什么可以减轻您的视线。 上方图片的上方或下方? 诚然,这不是一个完全公平的比较,正弦曲线的下部放在明亮的背景上。 仅看这种对比是调节眼睛的辛苦工作。 但是,这表明必须全面考虑人体工程学。 在黑暗环境中使用明亮的屏幕也不是一个好选择。

简·简的问题

由于先前的考虑,“清洁工作表”以浅灰色作为工作台窗口开始,零件背景以黑色字体开头。 使用灰色代替纯白色可以减少“文本模糊”的趋势和背景眩光的影响。 诸如零件,零件堆栈,工具栏,装饰条等结构化元素的强调也基于良好的灰色阴影。

但是,虽然黑色或多或少是浅灰色非常适合阅读纯文本,但是像Amazon Kindle或Evernote的Clearly这样的阅读器的默认设置建议,使用代码有点不同。 代码更加结构化,开发人员希望一眼就能认出这种结构。

为了简化识别过程,文本编辑器支持突出显示特殊文本元素,例如关键字,字段声明,字符串常量等。 当然,可以使用更多的灰色阴影来产生加亮效果,但是我的相应实验并没有令人满意。

如果您正在寻找一种为Eclipse创建自己的语法突出显示颜色主题的方法,则可以查看Eclipse Color Themes 。 他们提供了用于主题创建的在线服务,以及一个Eclipse插件来安装和切换此服务提供的主题。 与编写您自己的主题扩展程序或类似内容相比,入门起来要舒适得多。

一方面,拥有所有这些灰色的细微差别并没有真正导致可感知的结构化。 另一方面,工作台的总体印象有点无聊,会引起睡眠。 因此,我觉得是时候发挥一点色彩了。

介绍彩色斑点

在使基本文本元素保持黑色的同时,我开始探索色轮,以寻找一种语法突出显示调色板,该调色板可以同时用作结构化基础和情绪增强工具。 关于色彩心理学,例如,我选择了一种刺激性的颜色:关键字,事实性的字段,文字等,以及舒缓的Java doc部分。

总之,重要的是找到一种谐波方案,该方案应与工作台的图像元素等的预设很好地融合在一起,但要尽可能避免分散注意力。 下图是我的真实设置的屏幕截图,显示了我最终想到的结果(单击图像放大)。

清洁纸屏幕截图

好吧,她不是美女吗? :)

合并平面滚动条

细心的观察者肯定已经认识到包浏览器和文本编辑器使用的不同滚动条样式。 Clean Sheet使用了我几个月前在我的文章Sacrilege中介绍的自定义SWT滚动条组件-自定义SWT滚动条 。 创建此组件的原因是,本机SWT滚动条在更细微的视图布局上经常看起来有点混乱。

我每天都使用FlatScrollbar实例,对它们如此着迷,以至于我开始探索调整现有SWT应用程序控件的可能性。 尽管有用于树和表的ScrollableAdapter ,但是存在一些技术障碍 ,无法将其用作简单的样式替换。

egit-history-flat-scrollbar

但是,SWT的样式功能可以打开一扇门,允许钩住平面滚动条覆盖适配器。 然而,这种方法开始了实验性的,我没想到它是成功归因于“创意编程解决方案”它所需的量1 。 但是,在我自己吃了几个月的狗食并且解决了大多数问题之后,它似乎出乎意料地很好-至少对于我所知道的Java IDE范围内的UI部分而言。

对于Windows 7和Windows Dark主题的支持者 , “仿射代码主题”功能提供了两种扩展,它们将Xiliary FlatScrollBar组件合并到树和表上。

Windows主题与FlatScrollbar

窗切

带有FlatScrollbar的深色主题

暗切的

外表

Clean Sheet尚未经过Eclipse Java IDE的测试。 因此,如果更广泛的工作台设置带来了意想不到的困难,我不会感到惊讶。 基于Eclipse Forms Toolkit的零件看起来有点像外来元素,但是在我看来,这并没有多大变化(让我感到羞耻)……如果样式对您不利,则不会造成任何伤害。 只需切换回您的首选主题,重新启动工作台,然后继续您的工作即可。

我希望在不久的将来解决Xiliary问题跟踪器中记录的其余错误,并根据日常工作经验和不断增长的知识进行一些细微调整。

从长远来看,如果这个概念证明自己有用,我计划使用StyledText(所有文本编辑器所基于的控件)来将可滚动适配器机制扩展到更多SWT组件。 因此,请继续关注,这将是令人兴奋的:)

乍看上去

关于无尘纸…

要求

JRE 8,Windows 10,Eclipse 4.5(Mars)及更高版本。

下载及安装

将“安装”图标拖放到正在运行的Eclipse工作台中,以安装“代码仿射主题”功能。

btn安装

要么

选择帮助>安装新软件...
P2存储库软件站点@ http://fappel.github.io/xiliary/
功能:仿射代码主题

功能部件安装和工作台重新启动后,选择“清洁表”主题:首选项:常规>外观>主题:清洁表

执照

根据Eclipse Public License版本1.0发布 。

主页

  • http://fappel.github.io/xiliary/clean-sheet.html

资源资源

  • [GRAVIG]:Bauer,D.和Cavonius,C.,R.(1980)。 通过对比度反转提高视觉显示单元的清晰度。 在E. Grandjean,E。Vigliani(编辑)的“视觉显示终端的人体工程学方面”(第137-142页)。 伦敦:泰勒和弗朗西斯
  • [HOLL07]:Friedrich Holl,Fachhochschule Brandenburg, 软件方向:Farbe auf dem Bildschirm
  • [SHPL04]:Shneiderman,Plaisant:设计用户界面。 有效的人机交互策略。 艾迪生-韦斯利,2004年
  • [WAND93]:Jens Wandmacher, 软件人机工程学 ,格鲁伊特,1993年
  1. 老实说,有很多“孩子不在家做”的骇客才能达到目的。 但是没有胆量,没有荣耀……

翻译自: https://www.javacodegeeks.com/2015/11/clean-sheet-an-ergonomic-eclipse-theme-for-windows-10.html

eclipse clean

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336845.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么时候需要使用cqrs_在CQRS读取模型中使用Hibernate进行快速开发

什么时候需要使用cqrs在本文中,我将分享一些在CQRS读取模型中使用Hibernate工具进行快速开发的技巧。 为什么要Hibernate? Hibernate非常流行。 从外观上看,它也很容易,而从内部看,它却相当复杂。 它可以很容易地上手…

java 隐藏了什么_JAVA程序中封装与隐藏是什么意思

qq_遁去的一_1隐藏就是封装吧。。。。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一…

esb 和 开源esb_如果今天完成,ESB会是什么样子?

esb 和 开源esbJavaOne 2015即将结束,这又是一次很棒的社区活动。 我和Rafael进行了两次会议和一次HOL 。 我最喜欢的会议之一实际上是:谈论ESB,如果今天完成的话。 我以为那是过去? 我通常也倾向于这样说。 但是,系统…

五皇后问题 java_Java的5个古怪问题

五皇后问题 java我们有机会接触到一些最奇怪的Java难题 即使是最有经验的Java开发人员,也会在这篇文章中发现令人困惑的问题。 或者至少是有趣的(绝对不公平)。 在经历了Java Deathmatch冒险之后,我们决定这次发布一系列不同的问…

java加密成固定长度_Java使用MD5加密,生成的密文长度只有31位

在使用MD5加密时,生成的密文长度只有31位,该怎么解决?代码如下:public static String toMd5(String str) {String re null;byte encrypt[];try {byte[] tem str.getBytes();MessageDigest md5 MessageDigest.getInstance("…

可以自定义模板的ide_将IDE检查应用于自定义Java批注

可以自定义模板的ideJ2SE 5中注释的引入改变了我们编写和处理Java的方式。 除了Java SE的预定义注释外 ,框架,IDE和工具包还引入了自己的自定义注释 。 Checker框架提供了一些示例,说明如何使用自定义批注在Java中增加类型安全性 。 在本文中…

java设置弹出框为模态_点击按钮弹出模态框的一系列操作代码实例

实现功能提交按钮功能:点击提交按钮的时候都会弹出模态框,但是有不同的状态:审核状态未通过:弹出未通过理由的input输入框,模态框中除了取消和确定按钮,新增确定并保存医院的按钮审核状态已通过&#xff1a…

java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署

BPMN的介绍Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。那什么是BP…

javaone_JavaOne 2015 –第二十版十大收获

javaone我们刚刚在旧金山有了JavaOne的第二十版。 这将是我自2004年以来第十二次参加不间断的系列活动。最大的教训是什么,可以揭示Java的未来。 模块化斗争 自从Java 2007首次提到模块以来,已经花费了将近9年的时间,或者说,直到…

java批量处理数据库语句_Java项目中调用bat批处理进行多用户数据库备份

Java项目中调用bat批处理配合使用BCP进行多用户数据的备份一、项目需求最近项目中需要对数据库(Sql Server系列数据库)进行备份。项目中的需求不是简单的整个数据库的备份,而是根据用户来备份,具体的备份策略如下:①系统为某一赛事管理类型的…

mycat和应用程序集成_企业应用程序集成简介

mycat和应用程序集成本文是我们名为“ EAI的Spring集成 ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转…

activemq和jms_带有ActiveMQ和Maven的JMS Sender应用程序

activemq和jms我们已经看到了如何使用ActiveMQ和Maven创建JMS Receiver应用程序 。 让我们看看我们如何类似地创建JMS Sender应用程序 。 web.xml与创建接收器应用程序时使用的相同&#xff1a; <web-app xmlns"http://java.sun.com/xml/ns/javaee"xmlns:xsi&qu…

java经纬度曲线简化_JAVA 后台计算 经纬度 最短距离

1、 代码块package com.ilogie.tms.util;import java.io.IOException;import java.math.BigDecimal;import java.text.MessageFormat;public class LocationUtils {// 以下为 获得 两点之间最短距离private static final BigDecimal EARTH_RADIUS MathUtil.toBigDecimal(6378.…

java ee的小程序_在Java EE应用程序中实现自动重试

java ee的小程序最初&#xff0c;我想将此博客称为“ 具有拦截器驱动的重试策略的灵活超时 ”&#xff0c;但后来我认为它太“繁重”。 该声明以及修改后的标题应该&#xff08;希望&#xff09;使您了解此帖子可能谈论的内容;-) 触发 这篇文章主要由我在较早的一篇文章中收到…

jboss eap 7_EAP 7 Alpha和Java EE 7入门

jboss eap 7红帽JBoss企业应用程序平台7&#xff08;JBoss EAP 7&#xff09;是基于开放标准构建并符合Java Enterprise Edition 7规范的中间件平台。 它建立在WildFly等经过验证的创新开源技术之上&#xff0c;这将使Java EE 7的开发更加容易。 这是有关如何开始使用最新ALPHA…

为什么说php单线程,php单线程的缺点是什么?

PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言&#xff0c;与C语言类似&#xff0c;是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习&#xff0c;使用广泛&#xff0c;主要适用于Web开发领…

openshift 部署_在OpenShift上部署Java EE微服务

openshift 部署我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客。 您学习了如何使用Maven构建所谓的“胖子”&#xff0c;还使用Maven Docker插件对我们的微服务进行了Docker化并在Docker Machine上本地运行。 这是在本地测试事物的好方法。 到目前为止&#x…

apache.camel_Apache Camel 2.16发布–十大亮点

apache.camelApache Camel 2.16于上周五发布。 这篇博客文章是我尝试在此新版本中进行前10名&#xff08;加1作为奖励&#xff09;的亮点。 1.动态到 来自骆驼用户的最常见的常见问题是&#xff0c;如何将消息发送到端点&#xff0c;uri应该使用消息中的动态值&#xff08;例…

设计模式示例_责任链设计模式示例

设计模式示例本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入研究大量的设计模式&#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因&#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 &#x…

edmonds算法matlab,匈牙利算法的matlab实现

匈牙利算法算法简介算法原理算法实现(附代码)测试算法简介下面摘用百度百科中的解释。匈牙利算法(Hungarian method)是由匈牙利数学家Edmonds于1965年提出&#xff0c;因而得名。匈牙利算法是基于Hall定理中充分性证明的思想&#xff0c;它是二分图匹配最常见的算法&#xff0c…