Prompt engineering is about how you ask Copilot for help — better prompts = better responses.
✅ Key Strategies for Better Prompts
1. Provide Context
-
Open relevant files in VS Code.
-
Use top-level comments and descriptive function names.
-
Set includes/imports explicitly to guide Copilot's suggestions.
-
Use meaningful variable names and function scopes.
2. Use Chat Participants & Slash Commands
Chat Participants
-
@workspace— Ask questions about your open project. -
@vscode— Ask about VS Code features/extensions. -
@terminal— Run or explain shell commands.
Slash Commands
-
/explain— Explain code. -
/fix— Suggest fixes. -
/tests— Generate test cases. -
/optimize— Suggest improvements.
🔹 Example:
/fix why is #auth.service.ts throwing "undefined" on line 24?
3. Add Specific Context with # Variables
Use #filename, #folder, or #symbol to focus on specific areas of your code.
🔹 Examples:
-
“Summarize the changes in #changes.”
-
“What does the function #getUserData do?”
-
“Improve logging in #server.js using Winston.”
4. Break Down Tasks
Avoid huge multi-step prompts. Instead, guide Copilot one step at a time.
🔹 Bad:
“Create an Express app with Pug, TypeScript, MongoDB, and a product page.”
🔹 Better:
-
“Set up a basic Express app using TypeScript and Pug.”
-
“Add a
/productsroute that renders a view.” -
“Connect to MongoDB using Mongoose and fetch product data.”
5. Use High-Quality Example Code
-
Paste small, relevant examples to prime Copilot’s suggestions.
-
Use current or desired libraries in the snippet.
-
Delete the sample after Copilot “gets it.”
6. Iterate on Results
You can always ask for:
-
A different approach (“avoid recursion”)
-
Better naming (“use camelCase”)
-
Performance improvements
-
Alignment with your coding style
🔹 Prompt:
“Rewrite this function using a loop instead of recursion.”
7. Maintain Quality
-
Copilot mimics your code quality.
-
Clean, idiomatic code = better suggestions.
-
Consider disabling Copilot during “quick and dirty” coding.
📚 Example Prompts
| Task | Prompt |
|---|---|
| Add a route | “Add a POST /products route in #api.ts using Express.” |
| Refactor code | “Refactor #invoice.js to remove duplicate logic.” |
| Debug | “/fix error in #auth.service.ts on line 24” |
| Learn code | “/explain how JWT validation works in #auth.ts” |
| Generate tests | “/tests for validateInput in #form-utils.js” |
💬 Quick Reference: Prompt Formula
Intent + Context + Constraint
🧾 Example:
“Create a pagination helper in #utils.js that limits to 10 items per page using plain JavaScript.”
0 件のコメント:
コメントを投稿