ملخص سريع
- قم بتثبيت Continue في VS Code (
code --install-extension continue.continue) أو JetBrains (عبر المتجر) المصدر: VS Code Marketplace المصدر: JetBrains Marketplace - قم بتكوين النماذج في
~/.continue/config.json(OpenAI، Anthropic، Ollama، أو LLMs محلية) المصدر: إعداد النماذج - استخدم الإكمال التلقائي للتبويب، أوامر الشرطة (
/edit،/test)، وموفري السياق (@file،@codebase) المصدر: قائمة الأوامر المصدر: وثائق السياق - قم بتخصيص سير العمل باستخدام الوكلاء (الإصدار 0.9.0+) وSSO المؤسسي (الإصدار 0.9.5+) المصدر: وثائق الوكلاء المصدر: الدليل المؤسسي
- يتضمن الطبقة المجانية LLMs محلية؛ الطبقة الاحترافية ($20/مستخدم/شهر) تفتح الدردشة السحابية غير المحدودة المصدر: صفحة التسعير
1. التثبيت
VS Code / Cursor
# التثبيت عبر CLI
code --install-extension continue.continue
الناتج المتوقع: يظهر أيقونة جديدة في الشريط الجانبي (🔄). انقر عليها لفتح لوحة Continue.
ملاحظة هامة:
- إذا فشل تحميل الإضافة، تأكد من أنك تستخدم VS Code ≥1.80 المصدر: الدليل الرسمي.
- أعد تشغيل VS Code بعد التثبيت.
JetBrains (IntelliJ، PyCharm، إلخ)
- افتح Settings > Plugins.
- ابحث عن "Continue" وقم بالتثبيت المصدر: JetBrains Marketplace.
- أعد تشغيل بيئة التطوير المتكاملة.
ملاحظة هامة:
- قد تتجمد إضافة JetBrains في المشاريع الكبيرة. قم بتعطيل "Power Save Mode" في
File > Power Save Modeالمصدر: إعداد JetBrains.
Neovim
أضف إلى ملف lazy.nvim الخاص بك:
{
"continuedev/continue.nvim",
config = function()
require("continue").setup({
-- اختياري: قم بتكوين النموذج الافتراضي هنا
default_model = "ollama/codellama",
})
end,
}
الناتج المتوقع:
شغل :Continue لفتح واجهة الدردشة المصدر: وثائق Neovim.
2. تكوين النماذج
يستخدم Continue ملف config.json (الموجود في ~/.continue/config.json). إليك كيفية إعداد النماذج الشائعة:
OpenAI (GPT-4)
{
"models": [
{
"title": "GPT-4",
"provider": "openai",
"model": "gpt-4-turbo",
"apiKey": "YOUR_API_KEY"
}
]
}
أين تحصل على مفتاح API:
Anthropic (Claude 3)
{
"models": [
{
"title": "Claude 3",
"provider": "anthropic",
"model": "claude-3-opus-20240229",
"apiKey": "YOUR_API_KEY"
}
]
}
ملاحظة هامة:
- تحتوي الطبقة المجانية لـ Anthropic على قيود صارمة على معدل الاستخدام (50 رسالة/شهر) المصدر: وثائق Continue.
Ollama (LLMs المحلية)
- قم بتثبيت Ollama:
curl -fsSL https://ollama.com/install.sh | sh ollama pull codellama - قم بالتكوين في
config.json:{ "models": [ { "title": "CodeLlama", "provider": "ollama", "model": "codellama" } ] }
الناتج المتوقع:
$ ollama run codellama
>>> Hello
Hello! How can I help you today?
LM Studio (النماذج المحلية)
- قم بتنزيل LM Studio من lmstudio.ai.
- قم بتحميل نموذج (مثل
mistral-7b-instruct). - قم بالتكوين في
config.json:{ "models": [ { "title": "Mistral", "provider": "lmstudio", "model": "mistral-7b-instruct", "apiBase": "http://localhost:1234/v1" } ] }
3. إعداد الإكمال التلقائي للتبويب
قم بتمكين الإكمال التلقائي في config.json:
{
"tabAutocompleteModel": {
"title": "Tab Autocomplete",
"provider": "ollama",
"model": "starcoder2:3b"
},
"tabAutocompleteOptions": {
"maxPromptTokens": 2048,
"debounceDelay": 500
}
}
كيفية الاستخدام:
- ابدأ بكتابة الكود (مثل
def hello_world():). - اضغط على
Tabلقبول الاقتراحات المصدر: عرض توضيحي.
ملاحظة هامة:
- قد يتأخر الإكمال التلقائي في الملفات الكبيرة (>1K سطر). قلل
maxPromptTokensإلى 1024 المصدر: نصائح الأداء.
4. الدردشة والتحرير المضمن
الدردشة الأساسية
- افتح الشريط الجانبي لـ Continue (🔄).
- اطرح سؤالاً:
اشرح كيفية عمل هذا المكون في React. - قم بتمييز الكود وانقر على "Ask Continue" في قائمة السياق المصدر: وثائق الدردشة.
التحرير المضمن باستخدام /edit
- قم بتمييز الكود واكتب
/editفي الدردشة. - صف التغيير:
أعد كتابة هذه الدالة لاستخدام async/await. - اضغط على
Enterلتطبيق التعديل.
مثال:
// قبل
function fetchData() {
return fetch("/api/data").then(res => res.json());
}
// بعد (تعديل مضمن)
async function fetchData() {
const res = await fetch("/api/data");
return res.json();
}
5. موفرو السياق
يسمح موفرو السياق بالإشارة إلى الملفات، الوثائق، أو قواعد الكود بأكملها في الدردشة.
@file
الرجوع إلى ملف معين:
@file src/utils/helpers.js اشرح هذا الملف.
@docs
استيراد الوثائق (مثل الويكي الداخلي):
{
"contextProviders": [
{
"name": "docs",
"params": {
"url": "https://your-company.github.io/docs"
}
}
]
}
الاستخدام:
@docs كيف نتعامل مع المصادقة؟
@codebase
فهرسة قاعدة الكود بأكملها (يتطلب continue-index):
npm install -g @continuedev/continue-index
continue-index --path ./my-project
الاستخدام:
@codebase أين تم تعريف نموذج المستخدم؟
ملاحظة هامة:
- قد يستغرق فهرسة
@codebaseدقائق للمشاريع الكبيرة (>50K ملف). استخدم.continueignoreلاستبعاد المجلدات المصدر: وثائق السياق.
6. أوامر الشرطة المخصصة
حدد أوامر مخصصة في config.json:
{
"customCommands": [
{
"name": "generate-docs",
"description": "إنشاء JSDoc لدالة",
"prompt": "اكتب JSDoc لهذه الدالة:\n\n{{selectedCode}}",
"slashCommand": "/docs"
}
]
}
الاستخدام:
- قم بتمييز دالة.
- اكتب
/docsفي الدردشة المصدر: قائمة الأوامر.
مثال للناتج:
/**
* جلب البيانات من API.
* @async
* @returns {Promise<Object>} الاستجابة JSON من API.
*/
async function fetchData() { ... }
7. استكشاف متعمق لـ config.json
إليك مثال كامل مع ميزات المؤسسة (SSO، الوكلاء):
{
"models": [
{
"title": "GPT-4 (Enterprise)",
"provider": "openai",
"model": "gpt-4-turbo",
"apiKey": "${OPENAI_API_KEY}",
"apiBase": "https://api.openai.com/v1"
},
{
"title": "Ollama (Local)",
"provider": "ollama",
"model": "codellama"
}
],
"tabAutocompleteModel": {
"title": "Starcoder2",
"provider": "ollama",
"model": "starcoder2:3b"
},
"contextProviders": [
{
"name": "docs",
"params": {
"url": "https://your-company.github.io/docs"
}
}
],
"customCommands": [
{
"name": "generate-tests",
"description": "كتابة اختبارات وحدة لهذه الدالة",
"prompt": "اكتب اختبارات Jest لـ:\n\n{{selectedCode}}",
"slashCommand": "/test"
}
],
"enterprise": {
"ssoProvider": "okta",
"ssoDomain": "your-company.okta.com",
"auditLogs": true
},
"agents": [
{
"name": "refactor-agent",
"description": "إعادة هيكلة الكود وتحديث جميع المراجع",
"steps": [
{
"name": "identify-changes",
"prompt": "قم بإدراج جميع الملفات التي تحتاج إلى تحديثات لإعادة الهيكلة:\n\n{{selectedCode}}"
},
{
"name": "apply-changes",
"prompt": "قم بتحديث الملفات التالية:\n\n{{step1Output}}"
}
]
}
]
}
الحقول الرئيسية:
| الحقل | الغرض |
|---|---|
models | قائمة LLMs (محلية/سحابية) المصدر: إعداد النماذج. |
tabAutocomplete | تكوين اقتراحات التبويب المصدر: عرض توضيحي. |
contextProviders | إضافة @file، @docs، @codebase المصدر: وثائق السياق. |
customCommands | تحديد أوامر الشرطة /slash المصدر: قائمة الأوامر. |
enterprise | SSO، سجلات التدقيق (الاحترافية/المؤسسية) المصدر: الدليل المؤسسي. |
agents | سير العمل متعدد الخطوات (الإصدار 0.9.0+) المصدر: وثائق الوكلاء. |
مقارنة مع البدائل
| الميزة | Continue | GitHub Copilot | Cursor |
|---|---|---|---|
| مفتوح المصدر | ✅ نعم المصدر: إصدارات GitHub | ❌ لا المصدر: وثائق CodeWhisperer | ❌ لا المصدر: مقارنة Cursor |
| LLMs المحلية | ✅ (Ollama، LM Studio) المصدر: إعداد النماذج | ❌ (السحاب فقط) المصدر: مقارنة مع Copilot | ✅ (عبر Continue) المصدر: مقارنة Cursor |
| سير العمل الوكيلية | ✅ (الإصدار 0.9.0+) المصدر: وثائق الوكلاء | ❌ (محدود) المصدر: مقارنة مع Copilot | ❌ (أساسي) المصدر: مقارنة Cursor |
| SSO المؤسسي | ✅ (الإصدار 0.9.5+) المصدر: الدليل المؤسسي | ✅ المصدر: مقارنة مع Copilot | ❌ المصدر: مقارنة Cursor |
| التسعير | مجاني + $20/مستخدم/شهر المصدر: صفحة التسعير | $10–$20/مستخدم/شهر [المصدر: مقارنة مع Cop |
