既然已经有了一台电脑,那么如何在上面开启你伟大的计算生涯呢?一个必要的操作呼之欲出:配环境!广义上讲,计算机里的"环境"可以指代码之外的一切东西:电脑配置、编译器、开发工具、各种组件等等。也许将来你会经常听到这句话:“代码有问题?先看看你的环境对不对。“接下来我就来讲讲如何搭建写代码的环境。不过本文依旧延续一贯风格,不会过多赘述配置过程,还需要读者自己下来细细琢磨。
编译环境
通常来说,高级语言分为编译型语言和解释型语言。顾名思义,编译型语言会把代码编译成二进制文件,你可以直接执行该文件来运行代码;而解释型语言则是在运行时逐行解释代码、获取结果。一般来讲,编译型语言性能更好,解释型语言跨平台能力更强。二者的优劣这里暂且不谈,我们只需要知道:无论哪种语言,执行都离不开一个关键组件——编译器或解释器(下文为方便起见,统一称为"编译器”)。
以初学者最先接触的 C 语言为例,它的编译器有很多种,我通常用 GCC。在 Windows 上,你需要下载一个包含一系列相关组件和二进制文件的包(我用的是 MinGW-w64 ),把它放到某个目录下(有些编译器则是正常的软件安装流程),然后找到二进制文件所在目录,将其添加到系统环境变量中(有些可能不止加一个,按安装要求来即可),如下所示:
在 Mac 或 Linux 这类拥有类 Unix 终端的系统上,安装会简单得多,通常只需执行类似 sudo apt install gcc 这样一行命令即可(注意不要引发冲突、把系统搞崩)。当然,有些软件也可能需要手动解压安装,同样在解压后找到执行文件目录并加入环境变量就行。
安装完成后,一般都有 --version 之类的指令可以查看版本;看到正常输出,就说明安装没问题:
编辑环境
有了编译器,我们在哪里写代码呢?这就需要另一个关键组件——编辑环境。编辑环境通常也有两种:一种是不带编译器、纯粹的文本编辑器,你可以在里面装各种插件来丰富功能,比如 VS Code ;另一种是内嵌了编译器的,比如很多人熟知的 Dev C++ 或 Visual Studio 。下面我介绍两款编辑器的基本用法:VS Code 和 IDEA (其公司 JetBrains 也开发了几乎覆盖各种语言的 IDE)。
VS Code
VS Code 是一个纯粹的编辑器,你可以通过安装各种插件来获得良好的编码体验。当多个项目需要区分不同环境时(比如 Python 项目只需启用 Python 扩展),插件的"启用"和"禁用"会是个很实用的功能。
简单来说,你可以装一个 Code Runner,就能很方便地运行各种语言的代码,不过我一般不这么做。我习惯在终端用命令行运行,比如直接执行 python main.py,并通过配置 launch.json 来调试代码。一个 launch.json 示例如下,效果如图所示。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Launch main.py",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/main.py",
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"justMyCode": true
}
]
}
VS Code 打开的文件夹可以创建一个特殊的
.vscode目录,里面能放一些特殊文件,比如settings.json管理当前工作区环境设置,launch.json管理启动设置,可以指定运行的文件以及各类环境变量和参数。
IDEA
VS Code 虽然万能,但初始状态过于简陋,其"复杂"的配置让不少新手望而却步。因此我们可以使用 JetBrains 针对不同语言开发的专业 IDE,其中最出名的是"适用于专业 Java 和 Kotlin 开发的卓越 IDE”——IntelliJ IDEA Ultimate。
安装过程不必详述,正常走软件安装流程即可。打开软件后可以选择新建或打开项目;打开项目后,需要配置项目 SDK,操作路径是 文件 - 项目结构 - 项目 - SDK,可以选择本地下载好的 JDK,也可以让 IDEA 自行从网络下载。
和 VS Code 一样,IDEA 也有一套插件系统,我个人常用的有(括号内为 VS Code 上对应的类似插件):
- Atom Material Icons:设置图标主题,VS Code 上我用 Material Icon Theme
- One Dark Theme:设置代码主题,VS Code 上同名
- GitToolBox:可查看每行代码是谁提交的,VS Code 上类似的是 GitLens
- IdeaVim:Vim 插件,VS Code 上可使用 Vim
- Rainbow Brackets Lite:给括号加上颜色,VS Code 上内置了此功能
- WakaTime:统计你的代码时长,看看自己有多努力 😊,VS Code 同名
- VSCode Keymap:把 IDEA 的快捷键设成和 VS Code 一致
- 。。。
Vim
Vim 简单来讲就是一个文本编辑器,以其丰富的快捷键著称(Vim 同样可以配置插件,不过这里不展开)。我个人还是比较推荐学一下 Vim 的:熟悉了各种快捷键之后,编码效率确实会得到提升。日常我们可以在 VS Code 和 IDEA 中安装 Vim 插件来辅助开发(上文也有提到)。对 Vim 来说,首先得知道它的三种模式:
normal:大部分快捷键都在此模式下使用,可通过i、o等键进入insert模式,通过v进入visual模式;insert:正常写入内容,按esc退回normal模式;visual:移动光标选中文本,进行删除/剪切等操作,同样按esc退回normal模式。
我常用的 Vim 快捷键如下:
h/j/k/l:光标左 / 下 / 上 / 右移动d:剪切选中文本d+d:剪切光标所在行y:复制选中文本y+y:复制光标所在行p:粘贴u:撤销ctrl+r:重做(反撤销)o/shift+o:在光标下 / 上方插入新行c+i+{/[/(/"/'/<:剪切括号 / 引号内的内容并进入插入模式d+i+{/[/(/"/'/<:剪切括号 / 引号内的内容g+g/shift+g:跳转到文章首行 / 末行行首shift+4/shift+6:跳转到光标所在行行尾 / 行首ctrl+]:跳转到方法定义处(需配置对应语言的索引插件,对应到 VS Code 也就是各种语言插件)ctrl+u/ctrl+d:向上 / 下翻半页:wq:保存修改并退出:q!:强制退出(放弃修改):q:退出(无修改时):/xxx:在全文中查找 xxx:num:跳转到第 num 行:%s/old/new/g:将文章中所有的 old 替换为 new- 。。。
