12

打造windows下的开发环境

 3 years ago
source link: https://zhuanlan.zhihu.com/p/35985175
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

打造windows下的开发环境

上周自己组装了一个台式机,一下子从旧笔记本的2核跨入到6核时代了,更新完驱动感觉整个心情还是很愉悦。新主机只带核显,纠结了很久要不要安装ubuntu,最后忍住了。因为之前安装过几次都因为各种原因回到了windows。加上最近win 10对wsl的支持越来越给力,很多问题应该能够解决。这里就分享一下自己打造的windows开发环境。包括自己满意和不满意的地方,希望看到的人能够给出更好的建议。

说到底还是穷/sigh,如果不是舍不得买thinkpad,我也不会组装电脑了。在windows下开发,很多时候需要安装虚拟机,如果还有有VS、IDEA这些,8G以下的内存肯定没法玩。现在是16G内存加上固态硬盘,每天浪费在开机和软件启动的时间减少了。唯一不满的是这台式机不带独显,可是cpu风扇的声音还是让人很崩溃,还好性能上已经很流畅了。

如果你对字体容忍度比较高,那么恭喜你,你是幸福的,你也比我节省了很多时间。挑剔字体很浪费时间并且你会上瘾,陷入难以自拔,像我一样中毒的不少,reddit上每隔一段时间就有字体大评比的帖子。

之所以频繁换字体,主要还是windows下的默认宋体实在不堪入目,设置FontLink很多地方又无效。目前在用B大的sarasa term sc等宽字体。

只有懒人才能有生产力。作为一个工具信仰者,我坚信好的工具可以极大的提高生产力。在实际开发中,一个数据库都会很几十张表,如果通过下拉寻找表名,简直生不如死(不用怀疑,我很多同事遇到我之前都是这么干的)。sqlyog可以用ctrl+shift+b进入表名搜索。sqlyog还有一个杀器-自动保存sql,你可以随时查询,关闭软件下次启动sql还在,目前好像只有sqlyog才有这个功能。每次看都我sqlyog搜索的时候,同事都会问我怎么操作的,后来他们就都用啦。

说了这么多,只想说好的工具能够事半功倍。下面分享我认为是生产力的工具。

1.notepad++/sublime3, 我也用vs code写写前端和python脚本,json格式化查看等,但是文本编辑器核心需求是启动快+自动保存。想想你一天的工作,调试时把日志复制出来查看,构思一点东西,想对文本进行列操作,这些频繁琐碎的事情,notepad++都能帮你搞定,我一天下来用notepad++的时间一般都会超过在IDE上的时间。加上美观等因素,只有notepad++符合要求,sublime启动也不错,用过一段时间,不过发现让它做文本编辑器有点小用而且也没有notepad++方便。

2.onenote 你需要一个云笔记,onenote只是其中一个,你也可以用gist,为知笔记,印象笔记。我喜欢onenote的笔记本+分区+页面的划分。之前用过有道,印象,还买过为知笔记的会员(纯粹对优秀软件的支持),wiz的markdown支持也很棒,但是最坚持下来的只有onenote。工作中即使没有网我也用onenote,定时备份一下,重装系统时可以导入很方便,已经将工作中的待办列表放在onenote的专门一个分区中,每个月一个页面,每周一个两行五列的表格,每个格子记录今天和明天要完成的事。

我对onenote唯一不满的是字体,总是将英文部分恢复到cabri或者雅黑,简直不能忍。

3.cmder 你需要一个好用的终端。cmder是windows最好的终端。启动快,美观,支持部分linux命令,有个不错的快捷键ctrl+alt+u 返回上一级目录。

cmder和我常用的工具

4.moba xterm 你需要一个好的ssh终端,moba xterm是最好的ssh连接工具,也可以用作cmd终端。自带文件管理工具,

5. everything 文件整理一直是大多数人的痛,作为一个强迫症,我纠结这个问题很多年了,直到有一天我遇到了everything。目前我的笔记本只有一个盘(台式机两个盘,因为经常玩linux),笔记本作为一个生产力工具,几乎不会经常安装系统,即使遇到问题,win10重装也能保留文件,加上现在云端时代,所以完全不必分盘。我的C盘除了系统文件夹,只有6个文件夹,1inbox,2ongoing,3archive,app,code,doc。第一个是收件箱,无论是qq文件还是邮箱附件(chrome下载除外)都扔在里面,按修改日期排序。ongoing是进行中的项目。一般会按照迭代1迭代2这样建子目录。archive则是前面两个文件夹已经过去凌乱时,将最早的一些文件移动到这个目录下。 app则是绿色版软件,code是代码,doc是一些重要文档(工作文档在ongoing里面)。这么做的一个挑战是如何找到需要的文件,答案是everything。 everything的搜索非常快。为什么我觉得这个整理法科学?因为人的懒惰是天性。如果你的椅子经常长出衣服,那么你的房间缺少一个挂衣架;如果你的客厅沙发总是堆满了书包,那么你的玄关缺少一个台面、衣架;如果你总是经常陷于整理文件的烦恼中,说明你的方法不对,没有人喜欢整理文件,那就应该将整理次数降低到最少,同时保证能找到文件。这个方法需要你在文件命名比较准确,刚开始我也经常失手,慢慢你就会总结出经验。我的经验是,不要带上日期,日期应该是文件的一个属性,不是文件名的属性。其他搜索和命名技巧就因人而异了。

6. wsl 很多软件是只能在linux下运行的,这个时候就需要有个虚拟机,不过目前看来,wsl似乎可用性已经很高了,像spark这些都能跑起来。 比起虚拟机,wsl有几个优势:ip端口就是本机的,不需要你设置;占用内存小,启动快,非常方便。文件访问简单,你可以使用上面推荐的mobaxterm,也可以直接用命令行,windows文件都挂载在/mnt/c和/mnt/d下,以此类推。说到这里,推荐一下dotfile这个玩意,就是维护一个你linux的配置和脚本,将这些文件放在一个dotfile目录下,也可以上传到github,基本包括很多linux初始化,vimrc设置(个人没怎么用),之前安装各种linux发行版时,整了一份脚本,初始化安装chrome,vscode,source.list替换为国内,jdk设置,字体设置等。这样重装系统之后只要一个命令就可以大部分恢复到原来习惯样子啦。回到wsl,可以将常用的linux文件放到一个目录下,并且维护一个dotfile,实现一键安装。

7. 还有一些想IDEA,jupyter notebook不怎么通用的就不介绍啦。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK