> ## Documentation Index
> Fetch the complete documentation index at: https://unswcs.guide/llms.txt
> Use this file to discover all available pages before exploring further.

# COMP1511 编程环境配置

> 用 VS Code + SSH FS 连接 UNSW CSE，并运行你的第一个 C 程序。

这篇教程只做一件事：

**让你的电脑可以编辑 CSE 上的文件，并成功运行第一个 COMP1511 程序。**

整个过程不需要你提前学会 C。

完成后，你应该可以：

* 在 VS Code 中看到自己的 CSE Home
* 创建和编辑 `.c` 文件
* 打开 CSE 的远程 Terminal
* 使用 `dcc` 编译程序
* 运行自己的第一个 C 程序

> 如果当期 COMP1511 或 CSE 官方说明与本文不同，请以当期官方说明为准。

***

## 1. 安装 VS Code 和 SSH FS

如果还没有 VS Code，先下载安装：

[Visual Studio Code](https://code.visualstudio.com/)

打开 VS Code 后，进入左侧 **Extensions**，搜索：

```text theme={null}
SSH FS
```

安装 **SSH FS** 扩展。

![在 VS Code 中安装 SSH FS](https://mintcdn.com/na-8f7b522a/njLKe_EX3jRjRwDQ/images/comp1511/environment/01-install-ssh-fs-extension.png?fit=max\&auto=format\&n=njLKe_EX3jRjRwDQ\&q=85\&s=57a842635dcd8d71ead835314f94f6be)

> [!NOTE]
>
> 这里安装的是 **SSH FS**，不是 VS Code 的 **Remote - SSH**。

***

## 2. 连接你的 CSE Home

安装完成后，打开左侧的 **SSH FS**。

新建一个 Configuration：

![在 SSH FS 中创建配置](https://mintcdn.com/na-8f7b522a/njLKe_EX3jRjRwDQ/images/comp1511/environment/02-open-ssh-fs-create-configuration.png?fit=max\&auto=format\&n=njLKe_EX3jRjRwDQ\&q=85\&s=8b7a6eae455b6fa42305d6d28696a694)

然后打开这个配置的编辑页面。

![打开 SSH FS 配置](https://mintcdn.com/na-8f7b522a/njLKe_EX3jRjRwDQ/images/comp1511/environment/04-open-ssh-fs-config-editor.png?fit=max\&auto=format\&n=njLKe_EX3jRjRwDQ\&q=85\&s=f8d3de49b506f882e247b4f410a5d0a8)

填写 CSE 连接信息：

| 设置 | 内容 |
| - | - |
| Name | `cse` |
| Host | `loginX.cse.unsw.edu.au` |
| Root | `~` |
| Username | 你的 zID |
| Port | `22` |

其中 `X` 是 **zID 的最后一位数字**。

例如：

```text theme={null}
zID
z1234567

Host
login7.cse.unsw.edu.au
```

保存后，回到 SSH FS 面板，将这个配置添加到 Workspace。

![把 CSE Home 加入 VS Code](https://mintcdn.com/na-8f7b522a/njLKe_EX3jRjRwDQ/images/comp1511/environment/05-add-cse-home-workspace-folder.png?fit=max\&auto=format\&n=njLKe_EX3jRjRwDQ\&q=85\&s=6589ea482109733f7063a126fe7bcdbb)

第一次连接时，根据提示完成登录。

### 怎么知道自己成功了？

如果 VS Code 左侧 Explorer 已经能看到你的 CSE Home 和里面的文件：

**说明连接成功。**

到这里，最麻烦的一步已经完成了。

***

## 3. 打开 CSE Terminal

接下来需要打开的是 **CSE 服务器上的 Terminal**，不是你 Mac 或 Windows 本地的 Terminal。

可以从 SSH FS 配置或远程目录中打开 Remote SSH Terminal。

![打开 CSE 远程 Terminal](https://mintcdn.com/na-8f7b522a/njLKe_EX3jRjRwDQ/images/comp1511/environment/06-create-file-open-remote-terminal.png?fit=max\&auto=format\&n=njLKe_EX3jRjRwDQ\&q=85\&s=e76ab17380c386c8b4529ba25547f75c)

先输入两个命令：

```bash theme={null}
pwd
ls
```

现在只需要知道：

```text theme={null}
pwd    我现在在哪里
ls     这里有什么文件
```

然后创建一个 COMP1511 文件夹：

```bash theme={null}
mkdir -p ~/COMP1511/week01
cd ~/COMP1511/week01
```

以后你的练习可以慢慢整理成：

```text theme={null}
COMP1511/
├── week01/
├── week02/
├── labs/
└── assignments/
```

不需要严格照这个结构，重点是从一开始就把文件整理好。

***

## 4. 写你的第一个 C 程序

在 `week01` 里面新建：

```text theme={null}
hello.c
```

写入：

```c theme={null}
#include <stdio.h>

int main(void) {
    printf("Hello, COMP1511!\n");
    return 0;
}
```

现在**不需要理解每一行代码是什么意思**。

这一节只是确认：

```text theme={null}
VS Code 写代码
      ↓
文件保存在 CSE
      ↓
CSE Terminal 编译
      ↓
程序可以正常运行
```

记得保存文件。

macOS：

```text theme={null}
Command + S
```

Windows / Linux：

```text theme={null}
Ctrl + S
```

***

## 5. 编译并运行

确认 Terminal 当前就在 `hello.c` 所在目录：

如果不在的话，可以在hello.c右键`Open remote SSH terminal`

```bash theme={null}
pwd
ls
```

你应该能在 `ls` 的结果里看到：

```text theme={null}
hello.c
```

然后编译：

```bash theme={null}
dcc hello.c -o hello
```

如果没有出现错误，再运行：

```bash theme={null}
./hello
```

你应该看到：

```text theme={null}
Hello, COMP1511!
```

> [!TIP]
>
> 如果你已经看到 `Hello, COMP1511!`，说明你的基础编程环境已经可以正常使用了。

***

## 到这里就够了

开课前，你不需要：

* 提前把 C 学完
* 学完整套 Linux
* 学 Git
* 研究 SSH 的工作原理
* 安装一堆 VS Code 插件

现在能够完成下面这条流程就足够：

```text theme={null}
打开 VS Code
    ↓
连接 CSE Home
    ↓
打开 CSE Terminal
    ↓
写 .c 文件
    ↓
dcc 编译
    ↓
运行程序
```

接下来跟着 COMP1511 的 Lecture、Tutorial 和 Lab 一步一步学习即可。

***

## 常见问题

> **SSH FS 连不上怎么办？**
>
> 按顺序检查：
>
> 1. Username 是否是完整 zID，例如 `z1234567`
> 2. Host 最后的数字是否对应 zID 最后一位
> 3. Root 是否是 `~`
> 4. Port 是否是 `22`
> 5. zPass 是否正确
> 6. 网络是否正常
>
> 如果仍然无法连接，再查看最新的 CSE SSH-FS 官方说明。

> **dcc: command not found 怎么办？**
>
> 先确认你打开的是 **CSE Remote Terminal**，而不是自己电脑上的 Terminal。
>
> COMP1511 在不同 Term 也可能提供额外的环境初始化步骤。
>
> 如果第一周课程页面要求运行类似：
>
> ```bash theme={null}
> 1511 setup
> ```
>
> 按照当期 Lecture / Lab 的说明执行即可。

> **No such file or directory 是什么意思？**
>
> 通常是 Terminal 当前目录不对。
>
> 先运行：
>
> ```bash theme={null}
> pwd
> ls
> ```
>
> 确认你现在在哪里，以及 `hello.c` 是否真的在当前目录。

> **修改代码后，为什么运行结果没有变化？**
>
> 修改 `.c` 文件后需要：
>
> 1. 保存文件
> 2. 重新编译
> 3. 再运行
>
> 例如：
>
> ```bash theme={null}
> dcc hello.c -o hello
> ./hello
> ```

> **SSH FS 和 VLAB 应该用哪个？**
>
> 这篇教程使用 **VS Code + SSH FS** 作为日常编辑方式。
>
> 如果 SSH FS 暂时无法使用，或者需要完整的 CSE 图形桌面环境，可以再使用 VLAB。

***

## 官方参考

* [CSE Home Computing](https://cgi.cse.unsw.edu.au/~learn/homecomputing/)
* [CSE SSH-FS Guide](https://cgi.cse.unsw.edu.au/~learn/homecomputing/sshfs-remote/)
* [COMP1511 Course Website](https://cgi.cse.unsw.edu.au/~cs1511/)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.