# Copilot เห็นเวิร์กสเปซของคุณ Maguyva ทำแผนที่ทั้งรีโพ

Canonical source: https://maguyva.ai/th/for-vscode

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

เอเจนต์ใน VS Code อ่านไฟล์ที่คุณแนบและไฟล์ที่มันค้นเจอเอง Maguyva ทำดัชนีทั้งรีโพแล้วส่งให้ผ่าน MCP เอเจนต์จึงถามได้ว่าสัญลักษณ์อยู่ที่ไหนและใครเรียกใช้ ก่อนจะลงมือแก้

> รายการ servers เดียวใน .vscode/mcp.json: URL หนึ่งรายการและเฮดเดอร์ Authorization หนึ่งรายการ

## สิ่งที่ควรรู้เกี่ยวกับ VS Code

ข้อเท็จจริงสี่ข้อเฉพาะของ VS Code

### .vscode/mcp.json

เซิร์ฟเวอร์อยู่ใต้ `servers` ไม่ใช่ `mcpServers` หากต้องการใช้ในทุกเวิร์กสเปซ ให้รัน `MCP: Open User Configuration` แล้วเพิ่มรายการเดียวกันใน `mcp.json` ของโปรไฟล์คุณ

### type: http

VS Code เชื่อมต่อกับ endpoint ของ Maguyva ผ่าน Streamable HTTP และจะถอยไปใช้ SSE เฉพาะเมื่อเซิร์ฟเวอร์ไม่รองรับเท่านั้น ไม่มีอะไรรันบนเครื่อง

### การอ้างอิงตัวแปรสภาพแวดล้อม

เฮดเดอร์เขียนว่า `Bearer ${env:MAGUYVA_API_KEY}` ซึ่ง VS Code อ่านค่าจากสภาพแวดล้อมที่ใช้เปิดโปรแกรม คีย์จึงไม่อยู่ในไฟล์ที่คุณ commit อยากให้ถามแทนไหม? ตัวแปรอินพุตจะถามครั้งเดียวแล้วเก็บคีย์ไว้

### ความเชื่อถือพื้นที่ทำงาน

เซิร์ฟเวอร์ใน `.vscode/mcp.json` จะเริ่มทำงานโดยไม่ถามแยกเมื่อคุณเชื่อถือเวิร์กสเปซแล้ว และจะไม่เริ่มเลยในโหมดจำกัด ส่วน Configure Tools ในช่องแชตใช้เปิดหรือปิดเครื่องมือทีละตัว

## คำสั่งที่กำหนดเองคือข้อตกลงการทำงาน ใช้มันให้เป็นประโยชน์

```text
# .github/copilot-instructions.md
- รัน npm test ก่อนจะบอกว่าการแก้ไขเสร็จแล้ว
- ห้ามแก้ไฟล์ที่ถูกสร้างอัตโนมัติใน src/gen/
```

VS Code อ่านคำสั่งระดับทั้งโปรเจกต์จาก `.github/copilot-instructions.md` หรือ `AGENTS.md` และคำสั่งเฉพาะจุดจากไฟล์ `.github/instructions/*.instructions.md` ที่มีแพตเทิร์น `applyTo` ใช้สำหรับ:

- คำสั่ง build, test และ lint
- ข้อตกลงที่เอเจนต์ทำผิดอยู่เรื่อย ๆ
- โฟลเดอร์ที่เอเจนต์ไม่ควรแตะ

คำสั่งบอกเอเจนต์ว่าควรทำงานอย่างไร แต่บอกไม่ได้ว่าไฟล์ไหนในสี่พันไฟล์ import ไทป์ที่มันกำลังจะเปลี่ยนชื่อ

## เมื่อมุมมองเวิร์กสเปซไม่พอ

สามสิ่งที่เอเจนต์เรียนรู้จากไฟล์ที่เปิดอยู่ไม่ได้

### // สิ่งที่แนบมาไม่ใช่ทั้งหมด

เอเจนต์ทำงานจากสิ่งที่คุณแนบและสิ่งที่การค้นหาส่งกลับมา ผู้เรียกในอีกแพ็กเกจที่พังหลังการแก้ไขไม่เคยอยู่ในรายการไหนเลย

### // ข้อความที่ตรงกันไม่ใช่การอ้างอิง

การค้นหาในเวิร์กสเปซเจอสตริง แต่แยกไม่ออกว่าเป็นการเรียกจริง คอมเมนต์ mock หรือเมธอดชื่อเดียวกันในคลาสอื่น

### // ทุกการอ่านกินบริบท

ทุกไฟล์ที่เอเจนต์เปิดเพื่อหาทิศทางใช้บริบทที่ควรเอาไปใช้กับการแก้ไข คำตอบที่จัดอันดับพร้อม file:line เพียงคำตอบเดียวถูกกว่าการอ่านสำรวจสิบครั้ง

## Maguyva ในฐานะเซิร์ฟเวอร์ MCP ใน VS Code

รายการ servers เดียวให้เอเจนต์ได้:

- **เครื่องมือ 11 รายการบนรีโพที่ทำดัชนีแล้วของคุณ**: การค้นหาเชิงความหมาย เชิงโครงสร้าง (AST) เชิงกราฟ และข้อความ รวมถึงการค้นหาสัญลักษณ์ ส่วนที่พึ่งพา และการดึงไฟล์
- **คำตอบพร้อมพาธไฟล์และหมายเลขบรรทัด**: ครอบคลุม 285+ ภาษา เอเจนต์จึงเปิดไฟล์ที่ถูกต้องตั้งแต่ครั้งแรก
- **เครื่องมือที่อ่านอย่างเดียว**: เครื่องมือของ Maguyva แค่ค้นในดัชนี ไม่มีตัวไหนแก้ไฟล์ของคุณ การอนุมัติแต่ละครั้งจึงเป็นเรื่องการอ่าน ไม่ใช่การเขียน

> VS Code ให้ *เวิร์กสเปซของคุณ* แก่เอเจนต์
> Maguyva ให้ *แผนที่ของรีโพ* แก่เอเจนต์

## สองเวิร์กโฟลว์

ถามแผนที่ก่อน แล้วค่อยแก้ไข

### 01. หาเทสต์ให้เจอก่อนแก้พาร์เซอร์

```text
vscode agent> เทสต์ไหนบ้างที่เรียก parseConfig?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ หลังแก้ไข เอเจนต์รันแค่สองไฟล์นี้ ไม่ใช่ทั้งชุดเทสต์
[exit 0]
```

คำตอบระบุไฟล์เทสต์สองไฟล์ที่ไปถึงพาร์เซอร์ เอเจนต์จึงตรวจการแก้ไขตรงจุดที่อาจพังได้

### 02. ประเมินขนาดการเปลี่ยนชื่อก่อนแก้ครั้งแรก

```text
vscode agent> เปลี่ยนชื่อ OrderStatus.PENDING เป็น OrderStatus.QUEUED

find_symbol("OrderStatus", references)
  23 การอ้างอิงใน 9 ไฟล์

→ เอเจนต์วางแผนแก้รอบเดียวทั้งเก้าไฟล์
[exit 0]
```

จำนวนการอ้างอิงมาถึงก่อนการแก้ไข ไม่ใช่หลังจากตัวตรวจไทป์ล้มเหลว

## ตั้งค่าใน VS Code

สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

### 01. ทำดัชนีรีโพที่ maguyva.ai

เลือกรีโพที่คุณรู้จักอยู่แล้ว เพื่อให้คุณประเมินคำตอบได้

### 02. เพิ่ม Maguyva ใน .vscode/mcp.json

`.vscode/mcp.json`

```json
{
  "servers": {
    "maguyva": {
      "type": "http",
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. ตั้งค่าคีย์แล้วเริ่มเซิร์ฟเวอร์

ตั้งค่า `MAGUYVA_API_KEY` ในสภาพแวดล้อมที่คุณใช้เปิด VS Code แล้วเริ่มเซิร์ฟเวอร์จากโค้ดเลนส์เหนือรายการของมัน ถามเอเจนต์หนึ่งคำถามที่คุณรู้คำตอบอยู่แล้ว

[เอกสาร MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers) ของ VS Code อธิบายเรื่องตัวแปรอินพุต รูปแบบ .mcp.json แบบพกพา และความเชื่อถือเซิร์ฟเวอร์

## ทำดัชนีรีโพเดียวที่คุณรู้จักดีอยู่แล้ว

เชื่อมต่อ VS Code ผ่าน MCP แล้วถามคำถามเดียวที่คุณตรวจสอบได้
