惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
为什么要做这样一个参考文档?
2018-11-09 · via 少数派

首先达成一个共识:Windows 给 编程初学者 带来了很大的困难。比如 缺乏好用的包管理系统终端环境难看难用 和 环境变量不易配置 等等,这些都让 Windows 在开发体验上难以匹敌 Linux 甚至 macOS。

Windows ♥ Linux

WSL 的出现似乎缓解了这些烦恼。WSL —— Windows Subsystem for Linux,即适用于 Linux 的 Windows 子系统,是一个为在 Windows 10 上能够原生运行 Linux 二进制可执行文件的兼容层。WSL 的出现意味着我们可以借助它来给我们的 Windows 配置一个美观可用、新手友好的 学习编程的开发环境,包括:

  • 💻 Unix style 终端环境:zsh 和 oh-my-zsh
  • 🔨 与 macOS 的 Homebrew 一样原理的包管理器:apt(针对 Ubuntu)
  • 📰 与 Visual Studio Code 配合的编辑调试环境

💎 参考文档发布于这里:https://spencerwoo.com/dowww

💎 其中的源代码托管于这里:https://github.com/spencerwooo/dowww

为什么要做这样一个参考文档?

这是我根据我这半年来在 Windows 上面利用 WSL 进行开发编码摸索出来的经验总结。其主要原因在于 Windows 上面没有我可以忍受的包管理工具。在中国特殊的互联网环境下,我的 Chocolatey 从来没下载成功过,而 macOS 上有 Homebrew、Linux 各大发行版也都有各自的包管理工具,于是 WSL 成为了我在 Windows 下进行开发工作的首选环境。

有关 macOS 上面的包管理 Homebrew 的进阶用法,推荐阅读由少数派编辑 @Minja 亲手操刀撰写的 > 像 Mac 高手一样管理应用,从 Homebrew 开始
Chocolatey 又双叒下载失败了

那么为什么我们不直接转移到 Linux 上面去开发呢?主要由于 Linux 桌面环境虽然在 2018 年的今天有很大的改善,但是相比 Windows 或 macOS 还有着十足的差距,程序假死、常用软件没有适配、部分发行版繁琐的配置等等。对新手的不友好让刚接触代码的我们望而却步。

不过同时,不得不承认,虽然 WSL 极大地方便、优化了我们在 Windows 上面的开发体验,但是很多东西都是需要进行一些配置才可以做到 丝滑流畅 的运行。并且,除了能够做到「又不是不能用」,我们还要追求一下开发环境的美丽养眼。这支教程也就应运而生了。

我都介绍了什么?

这些是我这里的参考指南所重点介绍的内容。以参加 ACM 的同学或是刚开始学习 C/C++ 的同学为例子,相信你经过这篇参考教程的配置(具体在这里 > Dev on Windows with WSL | C/C++)之后:

  • 可以从左边丑陋的 Dev C++ 进化为 Visual Studio Code:
  • 可以从左边傻黑粗的 Command Prompt 或 Powershell 进化为 Unix style 的终端环境:

配置简单、扫清障碍、专为学习、高效开发。 🎉🎉🎉

但是还有一些内容,比如:

这些问题太过主观,在这里我最想解决的是如何让 WSL 下的工具能够更加丝滑的与 Windows 开发工具配合,来提高我们的开发效率。并且说实话,教程中介绍的工具无需进一步的配置就足够美观了。如有需求,可以查看我的往期文章(上面链接)进行自行查看甄别与折腾。

为什么我这样推荐 Visual Studio Code?

这个问题可以这样来理解:Visual Studio Code 与其他诸如 Atom, Sublime Text 3 和 Notepad++ 等等现代化代码编辑器相比,有哪里体验更加优质?

Visual Studio Code

简单的说,Visual Studio Code:

开源、免费、生态庞大、支持完善、调试便捷、定制化程度高。

具体讲,Visual Studio Code:

  • 开源,是目前微软开源项目中最受欢迎的一个。
  • 社区支持,有着成千上万的插件、主题、拓展来把它定制成为我们想要的样子。
  • 内置非常完善的机制与 Git 集成版本控制工具集成,开发体验极佳。
  • 内置调试工具能够力压其他任何编辑器,在我使用过程中从未见过调试功能有 Visual Studio Code 强大的编辑器。

而与此同时,Atom 虽然也很好看,但是由于优化问题其性能远比不上 Visual Studio Code。同时 Sublime Text 3 是闭源软件,需要付费购买,就如曾经 Sublime Text 上面可能是最受欢迎的主题 Material Theme 的作者所说(详见 Deprecation Note):

它是一个:80$ commercial software that is 80% cracked or used in free mode.

这样看来,我推荐使用 Visual Studio Code 就更加有理由了。

体验

不得不承认,WSL 还在开发完善,有许许多多的 bug 等待修复,同时 Visual Studio Code 各大插件组也在努力适配 WSL。但是我想说,单就目前 Windows 上面糟糕的包管理系统来说,进行轻量开发或是学习编程知识,WSL 这一条技术栈都是更用户友好的。

Hyper 终端

对于 WSL 终端环境来说:

  • 终端环境下的所有组件都可以完美运行,包括版本控制工具 git、远程登录工具 ssh 和包管理工具 apt(针对 Ubuntu 来说)等等。

对于具体的编程语言在 VSCode 里面的开发来讲:

  • C/C++ 和 Node.js 由于插件开发组已经适配,因此可以完美的正常调试和开发,与原生的 Windows 工具别无两样。
  • Python 由于插件开发组正在进行适配,经过一些努力和配置也是可以运行,处于「又不是不能用」的状态。
  • 其他语言还需要考证,截至发稿,我的这只文档也只介绍了 C/C++/Python 的配置,因此还有很多需要补充的地方,希望有能力、有经验的同学前来帮我一起完善,感激不尽。🌹🌹🌹

希望这支参考指南能够在帮助你在 Windows 上面利用 WSL 进行开发的时候少走一些弯路。Happy coding!