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

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

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

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

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

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

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

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

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

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

因此,应该优化工作台的外观以实现最佳的阅读体验。 因此,回顾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(火星)及更高版本。

下载及安装

将“安装”图标拖放到正在运行的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

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

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

相关文章

CentOS上安装MyCat-MySQL

1、安装JDK,要求JDK7以上。 2、下载MyCat,地址。 3、解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz,到usr/local/Mycat目录下。 4、添加用户Mycat。 [rootlocalhost Desktop]# useradd Mycat [rootlocalhost Desktop]# passwd M…

Java中的Redis的思维导图_Redis思维导图

常见相关问题Redis 有哪些功能?数据缓存功能分布式锁的功能支持数据持久化支持事务支持消息队列Redis 为什么是单线程的?因为 cpu 不是 Redis 的瓶颈,Redis 的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现,而且 cpu 又…

在Java EE应用程序中实现自动重试

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

2016-12-17 新浪博客服务器挂掉了,所有博客页面都无法打开

今天(2016-12-17 10:20)早晨从百度上检索到一篇新浪博客文章,点进去之后显示无法访问此网址,如下截图 去新浪博客主页看了看,主页是可以打开的 但是点进去任何一篇文章,都无法打开此页面 应该是新浪博客的服…

php版本7历史,php的版本发展历史(1995-2020)

PHP一直作为Web开发中的统治力量而存在,在WEB服务端开发领域,全球份额始终保持在78%以上。PHP快速,非常强大,生态好,而且免费,是一个为WEB而生的编程语言,自从诞生起PHP就被大多数开发者称为世界…

netbeans7.4_NetBeans 7.2 beta:更快,更有用

netbeans7.4NetBeans 7.2的beta版本引起了极大的兴奋。 在本文中,我将简要介绍一下此版本令人兴奋的原因(包括更好的性能,提供更多的提示以及集成FindBugs)。 NetBeans 7.2 beta在典型的下载捆绑软件中可用,从较小的Ja…

C-Free 5.0编译失败问题解决办法

解决关于C-Free 5.0编译时提示错误:[Error] undefined reference to __dyn_tls_init_callback 解决办法: 因为错误提示的路径是C:\MinGW\..... 首先想到的是编译器出问题了,因为我在安装完C-Free 5.0后,重新装过MinGW编译器&#…

用Cucumber JVM编写BDD测试

Cucumber JVM是编写BDD测试的出色工具。在本文中,我想对Cucumber JVM的BDD进行介绍。 让我们开始吧… 什么是BDD? 简而言之,BDD试图解决“通过示例理解需求”的问题 BDD工具 有许多用于BDD的工具,有趣的是,您可以在…

计算器界面网格布局java,安卓案例:网格布局实现计算器界面

安卓案例:网格布局实现计算器界面一、网格布局(GridLayout)GridLayout布局使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。(一)继承关系图(二)常用属性1、针对布局的属性(1)rowCount:行数(2)columnCount&#…

如何让多文本内容只显示一行,其余用省略号来显示

在此需要用到三个属性配合使用&#xff1a; overflow: hidden;/*超出部分隐藏*/white-space: nowrap;/*不换行*/text-overflow:ellipsis;/*超出部分省略号显示*/实例&#xff1a;<p> 兴高采烈的破蛹 重获新生的冲动 寻找爱情世界 美梦  既然不是毛毛虫 就要壮烈的扑火 …

php正则替换p闭合标签,php正则替换标签的实现方法

php正则替换标签的实现方法&#xff1a;首先通过“strip_tags”函数剥去字符串中的HTML标签&#xff1b;然后利用正则表达式替换标签&#xff0c;代码语句如“pregreplace("/s/","",strpregreplace("/s/","")”。推荐&#xff1a;《PH…

POJ1201 区间

题目大意&#xff1a; 给定n个整数区间[ai,bi]和n个整数ci,求一个最小集合Z&#xff0c;满足|Z∩[ai,bi]|>ci(Z里边在闭区间[ai,bi]的个数不小于ci)。 多组数据&#xff1a; n&#xff08;1<n<50000&#xff09;区间的个数 n行&#xff1a; ai bi ci(0<ai<bi<…

vue.js 2.x 能否设置某个组件不被keep-alive 的解决方案

开发项目的时候&#xff0c;使用的是 vue 2.x 版本 搭配路由切换 vue-router &#xff0c;但是很多时候有些页面需要被缓存&#xff0c;有些页面不需要缓存&#xff0c;那么该如何进行一个处理 这里我使用了一个方案来解决这个问题 : 首先在入口页面进行全部缓存标签 即 <ke…

matlab 次坐标轴 标注,matlab标注坐标轴

matlab绘图如何添加图例/坐标轴刻度像这个图里的 那样的图例如何添加 还有坐标轴的刻度如何用像上图的序号 首先打开电脑上的“matlab”软件&#xff0c;主界面如下图所示&#xff0c;箭头处输入代码即可运行。下面输入代码绘制图像&#xff0c;命令行代码如下图所示。点击ente…

JQUERY操作html--获取和设置内容、属性、回调函数

一&#xff1a;jQuery - 获取内容和属性 1.获得内容 - text()、html() 以及 val() text() - 返回所选元素的文本内容 html() - 返回所选元素的内容&#xff08;包括 HTML 标记&#xff09; <script type"text/javascript" src"jquery-1.11.2.min.js">…

可视化Java 9模块关系

正如我在之前的文章中所述 &#xff0c;我已经在Java 9 Jigsaw构建上运行Eclipse Neon了一段时间&#xff0c;并且没有任何问题。 我在周末花费了几个小时来修改一些模块化工具的想法。 我为Eclipse Neon写了一个小插件&#xff0c;可视化了各个模块之间的连接。 现在的实现…

String Start!

(1)Ransom Note 解题思路&#xff1a; 题目叫做Ransom Note&#xff0c;勒索信。勒索信&#xff0c;为了不暴露字迹&#xff0c;就从杂志上搜索各个需要的字母&#xff0c;组成单词来表达的意思。这样来说&#xff0c;题目也就清晰了&#xff0c;判断杂志上的字是否能够组成勒索…

java 多线程写缓存,Java多线程_缓存对齐

1.什么是缓存对齐当前的电脑中&#xff0c;数据存储在磁盘上&#xff0c;可以断电保存&#xff0c;但是读取效率较低。不断电的情况下&#xff0c;数据可以在内存中存储&#xff0c;相对硬盘效率差不多是磁盘的一万倍左右。但是运算时&#xff0c;速度最快的是直接缓存在CPU中的…

ArcGIS Server SOE开发之奇怪异常:

添加之后结果显示如下:fjsontokenezkBvir0Tj5q31UEst7pTFPwrwocmHklCajKeh-xXM91qWdBXDuQMmtGcaHaaXCJ 具体如下: 该SOE扩展在另一台机器上测试时可以正常添加,不知道为什么,在此台机器上添加时就出现如下异常. 请教群里大神,大神建议换个浏览器试试,换成IE在添加扩展,竟然成功…

netbeans7.4_NetBeans 7.2引入了TestNG

netbeans7.4代码生成的优点之一是能够查看如何使用特定的语言功能或框架。 正如我在《 NetBeans 7.2 beta&#xff1a;更快&#xff0c;更有用》一文中所讨论的那样&#xff0c; NetBeans 7.2 beta提供了TestNG集成 。 除了对该功能的单一引用之外&#xff0c;我在该帖子中没有…