分类目录归档:软件技巧

调整 WebStorm/PhpStorm 的内存限制

在处理大型项目时,WebStorm/PhpStorm 经常会遇到内存不够用导致响应缓慢的情况,原因是默认的 JVM 配置限制了内存大小(MacOS 64 位版默认是 750M)。 过去调整限制很麻烦,要到应用目录里面改配置(/Applications/PhpStorm.app/Contents/bin/phpstorm.vmoptions),不知道什么版本起多了一个选项,可以快速在应用里进入设置:「Help」——「Edit Custom VM Options」。 如果之前没有改过则会提示创建一个配置,然后在配置里调大 -Xmx(最大可占内存)参数后重启应用就可以了。 -Xmx2048m 具体的数值根据电脑配置而定,我分的 2G。提高此值大小会对 IDE 的响应速度有显著改善。另外这个修改对其它 Java 平台的 IDE 也有效,例如丑的一逼的 eclipse。 当然还有一些深入优化的参数,就不深入挖掘了,具体可看下面「相关链接」的第二条。一般情况下设置好内存限制、把没用的插件都禁用掉就可以带来很好的运行速度了。 相关链接 Tuning PhpStorm The One and Only Reason to Customize IntelliJ IDEA Memory Settings -- EOF --

发表在 软件技巧 | 标签为 , , | 2 条评论

解决 VMware Fusion 中虚拟机启动时报「Could not open /dev/vmmon」的问题

最近在做 RN 开发,安装了 Genymotion 模拟器。之后发现开 VMware Fusion 虚拟机调试旧 IE 时,会在启动时报「Could not open /dev/vmmon」的错误导致无法启动。 Could not open /dev/vmmon Failed to initialize monitor device 如果用 sudo kextutil /System/Library/Extensions/vmmon.kext 启动则会报错: Kext com.vmware.kext.vmx86 failed to load (0xdc008017). Failed to load kext com.vmware.kext.vmx86 (error 0xdc008017). 在网上搜了一下,原因是 VMware Fusion 跟 VirtualBox(Genymotion 和 Docker for Mac 都会依赖的免费虚拟机应用)共存时,如果装了太多虚拟机或虚拟设备,会导致双方共同占用一项共享的系统资源(major device number),导致它被 VirtualBox 占满时 VMware Fusion 中的虚拟机无法启动。解决的方法很暴利,卸载 VirtualBox 就行了。 卸载完可以使用指令 sudo kextutil /System/Library/Extensions/vmmon.kext 启动,然后通过 kextstat | grep vmx 就可以看到已经启动成功。 相关文章 https://communities.vmware.com/thread/469762 https://communities.vmware.com/thread/456399 https://communities.vmware.com/thread/430034

发表在 软件技巧 | 标签为 , , | 留下评论

在 Tmux 中开启鼠标选择与复制

Tmux 高效的快捷键和屏幕分割功能可以显著提高操作效率,但是默认进行内容选择与复制的操作有些繁琐。有时其他同事帮忙调试时很不适应,会不自然的用鼠标去拖选内容复制。在 Tmux 中开启鼠标模式并不复杂,只是常见的文档里并未列出。 在 tmux.conf 中加入下列设置(tmux 2.1 之前的版本): set -g mode-mouse on set -g mouse-resize-pane on set -g mouse-select-pane on set -g mouse-select-window on 在 tmux 2.1 中,对鼠标模式进行了重写,因此新版只需要增加一段设置即可: set -g mouse on 这样在 macOS 中随意滚动进入选择模式后,按住 option 键就用直接用鼠标选择文字,然后再按鼠标中键就能直接复制内容到系统剪切板中了。 -- EOF --

发表在 软件技巧 | 标签为 , | 19 条评论

在 WebStorm/PhpStorm 中开启对 Compass 的支持

在最新的 WebStorm/PhpStorm 6 更新中,加入了一系列优秀的前端开发工具。其中的 File Watchers 功能可以自动编译诸如 Sass、SCSS、LESS、CoffeeScript 和 TypeScript 等预处理器语言。对我来说这是一个非常实用的扩展功能,通过它已经可以替代过去 CodeKit 所做的部分工作。但是 File Watchers 目前还缺乏对 Compass 框架的支持,这对使用 Sass/SCSS 的开发者来说影响是非常大的。 下面就说说如何配置 WebStorm/PhpStorm,使其对 Compass 提供良好的支持。 开启 File Watchers 对 Compass 的支持 安装 Compass 首先要确保系统已经安装了 Compass (需要 Ruby 环境)。如果「终端」中不存在 compass 指令则说明 Compass 还未安装,需要执行下面的命令: $ gem install compass 在 File Watchers 中添加 Compass 配置文件 在 WebStorm/PhpStorm 设置里,找到项目设置中的「File Watchers」。点击 [+] 添加配置。可以看到许多内置模板,根据需要选择 SASS 或 SCSS。 具体配置如下: File type: SASS files 或 SCSS files Scope: Project Files Program: bash(Win 下可能是 C:\Ruby\bin\compass.bat) Arguments: -login -c "compass compile" Working directory: $ProjectFileDir$ Output paths: $FileNameWithoutExtension$.css 或留空 注意事项: 如果遇到奇怪的编译错误,可以把「Arguments」设置为 -login -c "compass clean && compass compile" 。 「Working directory」必须指向带有 Compass 配置文件 config.rb 的路径。一般在项目根目录,使用 $ProjectFileDir$ 即可。 如果你想让输出文件与 SCSS 文件在不同的路径,比如 SCSS 文件在 scss 目录,输出的 CSS 文件在项目根目录,那么只要把「Output paths」设置为 $ProjectFileDir$/$FileNameWithoutExtension$.css 就可以了。其他结构可以根据后面的「Insert macro...」自行设置; 如果觉得自动编译太讨厌,可以把「Immediate files syncchronization」自动编译关掉。 确认后保存设置。就可以通过 Compass 自动编译 SCSS 文件了。 如何忽略指定文件的编译 比起 CodeKit,File Watchers 还缺少一个快速忽略指定文件编译的功能。你只能采用 _filename.scss 这样在文件名开头加下划线的方式来指定忽略编译这个文件。当然出于模块化考虑,这样的命名方式本身是有好处的。 取消错误的语法检查 WebStorm/PhpStorm 默认的语法检查并不支持 Compass 语法,所以 @import "compass"; 会被错误警告。 解决方法:在「Project Settings - Inspection」里取消「SASS/SCSS」的「Cannot resolve import into sass/scss file」和「Unresolved mixin」这两个选项就不会乱报错了。 通过上面的设置,WebStorm/PhpStorm 已经可以很好的对 Compass 进行支持了。我想大部分使用 Sass/SCSS 的前端工作者都在用 Compass 框架,也希望 JetBrains 早日加入原生支持。

发表在 软件技巧 | 标签为 , , , , , | 12 条评论

【视频】《Perfect Workflow in Sublime Text 2》视频教程全集打包

Sublime Text 2 是今年非常火的一款编辑器,这款轻便的编辑器提供了诸多功能实用的功能,「tutsplus」也做了一套教程,可以深入了解这款编辑器的各种功能。在线看的话有点慢,所以我把它打包到网盘了,如有失效请告知。 目录见这里:https://tutsplus.com/course/improve-workflow-in-sublime-text-2/ 百度网盘打包下载: http://pan.baidu.com/share/link?shareid=61833&uk=1479479056

发表在 软件技巧 | 标签为 , , | 14 条评论

使用 Better Touch Tool 和 Jitouch 让 Magic Mouse 更好地工作

前段时间我的 Logitech V470 鼠标左键坏掉了,由于自己之前拆开清过灰,所以失去了保修。把它扔到墙角吃灰后,从同事那借来了 Magic Mouse 一用。Magic Mouse 是苹果推出的一款蓝牙触控鼠标,借助下面两款小工具,可以实现许多不错的功能,让它增色不少。 Jitouch 2 Jitouch 是一款售价 $6.99 的 Magic Mouse/Trackpad 增强工具,对 Magic Mouse 上的手势识别率非常高,此外还可以设置触控板的一些增强手势。可以说不光是 Magic Mouse 用户,所有 MacBook 用户都值得一用。 我的 Jitouch for Magic Mouse 设置如下(图1): 我的 Jitouch for Trackpad 设置如下(图2): Jitouch 尽管是个收费应用,但是由于识别准确度较高,还是值得一用的。 Better Touch Tool 俗称“BTT”的免费鼠标/触控板增强工具。由于 Jitouch 不支持 Magic Mouse 左右键区域轻拍的动作,所以需要用 Better Touch Tool 来弥补一下。 需要注意的是,BTT 对 Magic Mouse 内置动作的识别似乎不是很灵敏。有时候因为识别不出反而让人感到火大,所以不用 Magic Mouse 的朋友我建议只用 Jitouch 即可。 最终效果 在同时开启这两款插件后,基本实现了下面的功能: Magic Mouse 左键、右键区域轻触即可按下; Magic Mouse 中心区域滑动等同鼠标四向滚轮; Magic Mouse 拇指区域对应鼠标中间; Magic Mouse 实现快速切换标签; 更多的触控板手势:三指代表应用手势,四指代表系统手势。 总算让 Magic Mouse 在功能上丰富了一些,也不用一直按硬梆梆的按键了,所有操作全部触控搞定。 不过我最后要说的是,由于 Magic Mouse 定位不准和手感不太好的原因,我在使用一周后还是重新买了有线鼠标 Razer DeathAdder 来使用,Better Touch Tool 我也卸了。

发表在 软件技巧 | 标签为 , | 留下评论

去掉 Evernote Clearly 在 Chrome 右键菜单中的选项

Evernote Clearly(中文版名为“印象笔记·悦读”)是一个提高网页阅读体验的浏览器插件,它可以将网页快速过滤到多余内容,让你安心阅读正文。功能类似于 Readability,但是 Clearly 本地转换,速度快了很多。 美中不足的是 Chrome 版插件在工具栏有一个按钮,也支持快捷键,却还加了一个不能去掉的右键菜单项,每次看见这个多余的东西都难受。 去掉的方法很简单: 进入 Chrome 扩展文件夹的 “iooicodkiihhpojmmeghjclgihfjdjhj”目录; 用编辑器打开 background.html 文件,注释掉 26 行~34 行有关“context menu”的代码(不同版本可能位置不一样); 保存文件,重启 Chrome 即可看到效果。 注:每次插件升级都需要重新修改。 去掉后右键菜单终于变干净了,心里舒服多了。当然我更希望官方可以提供隐藏右键菜单的设定,因为 Evernote Clipper 是有这个设定的。

发表在 软件技巧 | 标签为 , | 5 条评论

说说Firefox4和IE9

近日Mozilla与Microsoft分别放出了自己的最新版浏览器Firefox 4与IE9,Firefox4以两倍于IE9的下载量向人们证明自己依旧有大量拥趸。尽管Windows 8推出时,IE9肯定会捆绑奉送,但IE的占有量日益下降确实不争的事实。在Safari兴致不高,Opera仍在无私为别人创新的情况下,浏览器似乎已经进入的三国争霸的状态。当然,纵览大势和笑谈趋势都不是我喜欢做的事,我就用最肤浅的目光简单说说Firefox4与IE9。 界面体验 Firefox 4与IE 9外观变化都不大,基本上继承了传统的设计样式。在如今以UCD、UED、UJ8D为关键词的环境下,用户体验似乎比过去单纯的美学体验更加重要。Firefox的新版界面依旧朴素到极致,好在有丰富的外观主题库和插件来定制。IE由于更加封闭,所以只要把默认样子做得好看一点,毛玻璃效果搞得很不错。即便不喜欢这样也没有关系。IE外壳多嘛~你升级到IE9改用360、搜狗浏览器就OK了。 Firefox 4的地址栏的右键菜单终于加入了“粘贴并转到”选项,方便使用。从可视范围来看,省略状态栏后的Firefox布局更像Chrome,但标题栏的存在使其浏览面积依旧稍小于后者。在这一点上Safari做得很好,保留标题栏的前提下仅比Chrome差一点点(显示书签栏后两者等高),如图。 在这一点上,IE9就做得比较疯狂了。直接把标签栏同地址栏整合了,还把刷新、停止按钮放到地址框里去了。从美观上说确实很酷,但是易用性简直差到家了。 首先,以我对“用户体验”、“易用性”的理解,越常用的按钮越要便于寻找和操作,在不易造成误点击的前提下理应做得大些。刷新和停止按钮比导航按钮使用的几率要高,IE9却把它们和Favicon放到一起,实在无法理解。如果你把网站的Favicon做成收藏按钮的五星那样,用户兴许会以为可以点击哩。此外搜索按钮同样被整合到地址框里也让我不能理解,我个人还是更喜欢Firefox那种单独摆放的布局。 其次,收藏按钮放到右侧跟主页、设置按钮在一起很容易勿操作造成打开主页。也是不好的体验。 将标签栏与地址栏合并的设计十分大胆,但我想用户需要非常宽屏的显示器吧。本人有密集恐惧症呢,一堆标签挤在那该有多烦人。 所以尽管IE9的外观相较Firefox4有更大“突破”,可我却觉得我需要一个易用性更好的壳。 渲染改进 在网页渲染方面的改进和性能的提升,很多地方有比较我也不再多言。在对新技术的支持上显然二者都让我感到诚意和满意。 我做得CSS3版忍者神龟,在IE9下竟然可以正常显示图像了,除了渐变,圆角、旋转、盒阴影都有不错的表现,真是泪流满面啊。要知道很多CSS3属性其他浏览器还要借助私有属性,而IE9支持的却是原生[1],终于走向了正确的道路。 p.s.其实IE for Mac 5.5就尝试过这一道路,可惜当时一心想垄断浏览器标准的微软为此将Mac版负责人调离了岗位。 此外,HTML5部分属性在IE9也得到支持,目前对HTML5支持最全面的依旧是Opera浏览器(最新Opera 11)。 Firefox4对标准的支持一直很好,这次更新后感觉到速度有了明显的提升,没有过去那么臃肿的感觉,更像Chrome了。我有些犹豫是换回Firefox还是继续用Chrome,FF的高定制性依旧是Chrome无法超越的。 总的来说,Firefox4令我最满意,而IE的进步则较明显,但是易用性依旧有许多的问题,好在可以借壳解决。本文写得有点乱,只要是我对Firefox4的改进还没有更深入的体会。留待以后修改吧。 [1]:这里并不是说IE9对CSS3属性的支持比其他浏览器好,而是因为CSS3标准尚未正式确立,而IE的产品更新周期较长,所以提前作为原生属性对CSS3进行了支持。而Chrome和Firefox均可等到标准正式确立后通过一次小更新将私有属性换为原生支持。CSS3和HTML5的标准预期将分别在明年和大后年正式确立。

发表在 软件技巧 | 标签为 , | 10 条评论

Google Chrome 扩展推荐(2017.02.10 更新)

在《常用的 Mac 软件》一文中我提到目前基本是用 Chrome 进行网页浏览。下面是我使用的一些 Chrome 扩展,均可以在 Chrome 的扩展主页或者通过 Google 找到。 广告屏蔽 AdBlock:阻挡乱七八糟的网页广告,订阅了「中文 + EasyList」。 功能增强 cVim:通过类 Vim 的键盘操作提高效率,类似的还有功能更多的 Surfingkeys,但是有点小 bug,cVim 目前足够用。 TabCloud:存储当前浏览的标签到云端,用来保存当前工作状态或是批量存书签都不错,尤其是周五下班前还有很多文章没看完的情况下。 The Great Suspender:省内存神器,我的电脑长期不关机,长期保持 3~5 个窗口每个窗口 5~20 个标签不等,占用内存可想而知。有了它就全解决了。页面超过 30 分钟没浏览就自动挂起,节省内存。如果不想让页面被挂起就把它固定或者给域名加白名单。 Start Today:每次打开新标签都有一个好心情。 捕捉网页截图 - FireShot的:名字很机翻,用来截取滚动页面截图。 右键搜:由于默认引擎是 Google,偶尔需要用百度或者淘宝,这个扩展很实用。 知识管理 Save to Pocket:书签功能现在用的少了,只记录一些工具类网站。如果有文章觉得不错但还没时间看,就存到 Pocket 里,跨平台的。 浏览辅助 Proxy SwitchyOmega:我说它是用来辅助调试接口的你信吗? 惠惠购物助手:穷,抠。 眼不见心不烦(新浪微博):强效护眼。 密码管理 LastPass: Free Password Manager:辅助密码管理和自动登录。 开发工具 EditThisCookie:修改本地 Cookie 用; JSON Viewer:格式化 JSON 数据,看接口数据比较方便; LiveReload:自动刷新,前端必备。 有好玩的扩展欢迎推荐给我,我会对文章保持更新。 -- EOF --

发表在 软件技巧 | 标签为 , , | 7 条评论