现在已经有了一台电脑,那么如何在这台电脑上开启你伟大的计算的生涯呢?一个必要的操作呼之欲出了,配环境!广义上讲,计算机里的环境可以指一切除了代码以外的任何东西:电脑配置、编译器、开发工具以及各种组件等等,或许未来你可能经常听到这句话:“代码有问题?你先看看你的环境对不对。”接下来笔者将讲述如何搭建一个写代码的环境,不过本文依旧是按照一贯的风格,不会过多讲述配置过程,这还需要读者下来自己细细琢磨。

编译环境

通常而言,现在的高级计算机语言分为编译型语言和解释型语言。顾名思义,编译型语言是将代码编译成二进制文件,你可以直接执行二进制文件运行代码;而解释型语言则是在运行时逐行解释代码来获取结果。一般来讲,编译型语言性能更好,解释型语言却跨平台能力更强,但在这里我们暂且不谈二者的优劣,我们只需要知道不管哪一种语言的执行都离不开一个关键组件:编译器/解释器(下文为了方便将统一称呼为编译器)。

我们以初学者最先接触的 C 语言为例,C 语言的编译器有很多,我通常使用 GCC。一般在 windows 上你需要下载一个包含了一系列相关组件和二进制文件的包(我用的是MinGW-w64 ),将其放到一个特定目录下(或者有些编译器是正常的安装软件的流程),然后找到其二进制文件所在目录并将其添加到系统环境变量中(有些可能不止添加一个环境变量,按照安装要求就行),如下所示:

在 Mac 或者 Linux 这样拥有一个类 Unix 终端的系统上的安装则会简单许多,通常你只需要执行sudo apt install gcc这么一行类似的指令即可安装完成(注意不要引发冲突把系统搞崩)。不过当然有些软件或许也需要手动解压安装,同样地解压后找到执行文件目录并添加到环境变量中就行。

安装完成后一般都会有个--version或者类似的指令查看版本,当看到正常输出就说明你的安装没有问题:

编辑环境

有了编译器后我们在哪里写代码呢?这就要需要另一个关键组件——编辑环境。编辑环境通常也有两种,一种是不带编译器,纯粹的文本编辑器,你可以在里面安装各种插件来丰富功能,比如VS Code ;另一种是会内嵌一个编译器,比如可能很多人都熟知的 Dev C++或者是Visual Studio 。下面我将介绍两种编辑器的基本使用:VS Code 和IDEA (其公司 jetbrains 也开发了几乎各种语言的编译器)。

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 的快捷键设置得和 VSCode 相同
  • 。。。

Vim

Vim,简单来讲就是一个文本编辑器,以其各种快捷键闻名(同样 Vim 也可以配置插件,不过这里不会涉及),就我个人而言还是比较推荐学习一下 Vim 的,当熟悉了他的各种快捷键操作后,你的编码效率也将会得到提升。日常情况下我们可以在 VS Code 和 IDEA 中安装 Vim 插件来辅助我们开发(上文也有提到),对于 Vim 我们首先需要知道他的三种模式:

  • normal:大部分快捷键也是在此模式下使用,可以通过io等按键进入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
  • 。。。