# 不使用 VSCode 扩展的编译方法

## 问题

如果 VSCode 的 nRF Connect 扩展无法使用，可以直接使用命令行编译。

## 编译步骤

### 1. 打开终端

在 VSCode 中：
- 按 `` Ctrl + ` `` 打开终端
- 或点击 "终端" -> "新建终端"

### 2. 进入项目目录

```powershell
cd D:\Project\firmware\pm-n52832\pm-n52832\firmware-ncs
```

### 3. 编译项目

```powershell
west build -b nrf52832dk_nrf52832
```

**说明**：
- `west build`：使用 West 构建系统编译
- `-b nrf52832dk_nrf52832`：指定目标板（nRF52832 DK）

### 4. 查看编译结果

编译成功后，会生成：
- `build/zephyr/zephyr.hex`：HEX 文件
- `build/zephyr/zephyr.bin`：BIN 文件

### 5. 烧录（可选）

```powershell
west flash
```

## 常用命令

### 清理编译

```powershell
west build -t clean
```

### 重新编译

```powershell
west build -b nrf52832dk_nrf52832 --pristine
```

### 查看配置

```powershell
west build -t menuconfig
```

### 查看帮助

```powershell
west build --help
```

## VSCode 集成（不使用扩展）

即使不使用 nRF Connect 扩展，VSCode 仍然可以：

1. **编辑代码**：语法高亮、代码补全
2. **查看文件**：项目结构、文件浏览
3. **终端编译**：在 VSCode 终端中使用 `west build`

### 配置 tasks.json（可选）

创建 `.vscode/tasks.json` 来快速编译：

```json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build NCS Project",
            "type": "shell",
            "command": "west build -b nrf52832dk_nrf52832",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": []
        },
        {
            "label": "Flash NCS Project",
            "type": "shell",
            "command": "west flash",
            "group": "none",
            "problemMatcher": []
        },
        {
            "label": "Clean Build",
            "type": "shell",
            "command": "west build -t clean",
            "group": "none",
            "problemMatcher": []
        }
    ]
}
```

使用方法：
- 按 `Ctrl + Shift + B`：编译项目
- 按 `Ctrl + Shift + P` -> "Tasks: Run Task" -> "Flash NCS Project"：烧录

## 验证环境

在终端中运行：

```powershell
# 检查 West
west --version

# 检查环境变量
echo $env:NRF_CONNECT_SDK_PATH
echo $env:ZEPHYR_BASE

# 检查 NCS 路径
Test-Path C:\nrf
Test-Path C:\nrf\zephyr
```

## 总结

**即使没有 VSCode 扩展，也可以：**
1. ✅ 使用 VSCode 编辑代码
2. ✅ 使用命令行编译（`west build`）
3. ✅ 使用命令行烧录（`west flash`）

**扩展只是提供便利，不是必需的！**

