# VSCode 问题排查

## 问题：找不到 "nRF Connect: Set up nRF Connect SDK" 命令

### 可能的原因

1. **扩展未安装**
2. **扩展已安装但未启用**
3. **命令名称不同**

## 解决方案

### 方案 1：检查扩展是否安装

1. 按 `Ctrl + Shift + X` 打开扩展面板
2. 搜索：`nRF Connect`
3. 确认以下扩展已安装：
   - **nRF Connect for VS Code**（主扩展）
   - 或 **nRF Connect Extension Pack**（扩展包）

### 方案 2：手动配置（如果扩展未安装）

如果扩展未安装或无法使用，可以手动配置：

#### 方法 A：直接编辑 settings.json

1. 按 `Ctrl + Shift + P`
2. 输入：`Preferences: Open Workspace Settings (JSON)`
3. 添加或修改：

```json
{
    "nrf-connect.sdk": {
        "path": "C:\\nrf",
        "toolchain": "GNUARMEMB"
    },
    "nrf-connect.board": "nrf52832dk_nrf52832"
}
```

#### 方法 B：使用命令行编译

如果 VSCode 扩展无法使用，可以直接使用命令行：

```powershell
cd D:\Project\firmware\pm-n52832\pm-n52832\firmware-ncs
west build -b nrf52832dk_nrf52832
```

### 方案 3：安装扩展

1. 按 `Ctrl + Shift + X`
2. 搜索：`nordic semiconductor`
3. 安装：**nRF Connect for VS Code**
   - 扩展 ID: `nordic-semiconductor.nrf-connect`
4. 重启 VSCode

### 方案 4：检查扩展是否启用

1. 按 `Ctrl + Shift + X`
2. 搜索：`@installed nrf`
3. 确认扩展显示为"已启用"
4. 如果显示"已禁用"，点击"启用"

## 替代方案：使用命令行

如果 VSCode 扩展无法使用，可以直接使用命令行编译：

### 编译

```powershell
cd D:\Project\firmware\pm-n52832\pm-n52832\firmware-ncs
west build -b nrf52832dk_nrf52832
```

### 烧录

```powershell
west flash
```

### 查看日志

```powershell
west build -t menuconfig  # 配置菜单
west build -t guiconfig   # GUI 配置
```

## 验证扩展

### 检查扩展是否加载

1. 按 `Ctrl + Shift + P`
2. 输入：`nRF`
3. 应该看到多个 nRF Connect 相关的命令

### 如果没有看到任何 nRF 命令

1. 检查扩展是否安装：
   - 按 `Ctrl + Shift + X`
   - 搜索 `nordic`
   - 确认扩展已安装

2. 重启 VSCode

3. 检查扩展输出：
   - 按 `Ctrl + Shift + U` 打开输出面板
   - 选择 "nRF Connect" 或 "Extension Host"
   - 查看是否有错误信息

## 最小配置（不使用扩展）

如果扩展无法使用，可以手动配置项目：

### 1. 编辑 .vscode/settings.json

```json
{
    "cmake.buildDirectory": "${workspaceFolder}/build",
    "cmake.sourceDirectory": "${workspaceFolder}",
    "C_Cpp.default.includePath": [
        "${workspaceFolder}/src",
        "C:/nrf/zephyr/include",
        "C:/nrf/zephyr/include/zephyr"
    ],
    "C_Cpp.default.defines": [
        "__ZEPHYR__"
    ],
    "C_Cpp.default.cStandard": "c11"
}
```

### 2. 使用命令行编译

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

## 推荐做法

1. **先尝试安装扩展**：`nordic-semiconductor.nrf-connect`
2. **如果扩展无法使用**：使用命令行编译（`west build`）
3. **VSCode 主要用于编辑代码**，编译可以在终端中进行

