⁦VS Code⁩

آپ کے کوڈ کے ساتھ کونسول فریم کا لائیو پیش منظر، ⁦App Router⁩ اسکیفولڈنگ، اسنپٹس اور TX ایرر لنکس۔

⁦VS Code⁩ کے لیے Text.js ایکسٹینشن آپ کے کوڈ کے ساتھ کونسول کا فریم دکھاتی ہے۔ یہ text dev کے تحت چلنے والی ایپ کی نقل دکھاتی ہے، یا جب کچھ نہ چل رہا ہو تو کھلی فائل کو خود رینڈر کرتی ہے۔ یہ ⁦App Router⁩ کی اسکیفولڈنگ، اسنپٹس اور TX### ایرر کوڈز کے لنکس بھی شامل کرتی ہے۔

انسٹالیشن

⁦Visual Studio Marketplace⁩ سے Text.js انسٹال کریں۔ ⁦VS Code⁩ میں Extensions ویو (⌘⇧X) کھولیں اور textjs.vscode-textjs تلاش کریں، یا یہ کمانڈ چلائیں:

code --install-extension textjs.vscode-textjs

یہ ہر ایسے فولڈر میں فعال ہوتی ہے جس میں Text.js ایپ ہو: ایک text.config.ts فائل، یا ایسا پیکیج جو @textjs/app پر منحصر ہو اور جس میں app/ ڈائریکٹری ہو۔ کئی ایپس والے مونوریپوز بھی کام کرتے ہیں۔

لائیو پری ویو

کوئی page.tsx، layout.tsx یا کمپوننٹ کھولیں اور Text.js: ⁦Open Preview⁩ (⌘K V) چلائیں، یا ایڈیٹر کے ٹائٹل بار میں پری ویو بٹن پر کلک کریں۔ پینل فریم کو آپ کے براؤزر کونسول جیسے DevTools انٹرفیس اور Menlo سیلز میں بناتا ہے۔

پری ویو اپنے فریم دو ذرائع میں سے کسی ایک سے لیتا ہے۔ ٹول بار کا بیج دکھاتا ہے کہ کون سا ذریعہ فعال ہے:

ذریعہکبآپ کو کیا دکھتا ہے
لائیوtext dev چل رہا ہو اور براؤزر کے کسی ٹیب میں ایپ کھلی ہواصل ایپ، اپنی اسٹیٹ، ڈیٹا اور گرڈ سائز کے ساتھ
ہیڈلیسکوئی ڈیو سرور نہ ہو، یا کوئی ٹیب کھلا نہ ہوکھلی فائل، جسے ایکسٹینشن پینل کے سائز پر رینڈر کرتی ہے

auto (ڈیفالٹ) جہاں ممکن ہو لائیو استعمال کرتا ہے، ورنہ ہیڈلیس۔ بیج سے یا textjs.preview.mode کے ساتھ کسی ایک کو پن کریں۔

کی بورڈ

ایپ کو کیز بھیجنے کے لیے کونسول پر کلک کریں: تیر والی کیز، Tab، شارٹ کٹس، ٹائپنگ اور پیسٹ سب براؤزر کی طرح کام کرتے ہیں۔ روکنے کے لیے کونسول سے باہر کلک کریں۔ ایڈیٹر کے شارٹ کٹس جیسے ⌘P اور ⌘⇧P اب بھی ⁦VS Code⁩ کو جاتے ہیں۔ کونسول پر اسکرول کرنے سے وہیل ایونٹس بھیجے جاتے ہیں۔

کسی بھی ذریعے میں نیویگیٹ کرنے کے لیے آپ ایڈریس فیلڈ میں کوئی روٹ، جیسے /deployments/dpl_a1، ٹائپ کر سکتے ہیں۔

لائیو موڈ

جب پری ویو کھلا ہو تو ڈیو سرور منسلک ٹیبز سے ان کے فریم اسٹریم کرنے کو کہتا ہے۔ ٹیبز صرف تبدیل شدہ قطاریں بھیجتے ہیں اور پری ویو بند ہونے پر بھیجنا روک دیتے ہیں، اس لیے جس ایپ کا کوئی پری ویو کھلا نہ ہو اس پر کوئی بوجھ نہیں پڑتا۔ فائل محفوظ کرنے پر ⁦Fast Refresh⁩ چلتا ہے اور پری ویو ٹیب کے ساتھ اپ ڈیٹ ہوتا ہے۔

براؤزر ٹیب کو زیرِ ترمیم page.tsx فائل کے روٹ پر لے جانے کے لیے فالو (textjs.preview.followEditor) آن کریں۔

بیک گراؤنڈ ٹیبز کو اینیمیشن فریم نہیں ملتے، اس لیے وہ عموماً دوبارہ نظر آنے تک اپنے فریم روکے رکھتے ہیں۔ جب پری ویو دیکھ رہا ہو تو بیک گراؤنڈ ٹیب ان پٹ آتے ہی فریم بناتا ہے، اس لیے پری ویو میں ٹائپ کرنے سے اب بھی اپ ڈیٹ ہوتا ہے۔ بیک گراؤنڈ ٹیب میں اینیمیشنز تقریباً ہر سیکنڈ میں ایک بار اپ ڈیٹ ہوتی ہیں۔ انہیں رواں رکھنے کے لیے ایپ کو الگ ونڈو میں رکھیں۔

ہیڈلیس موڈ

ایکسٹینشن آپ کے پروجیکٹ میں ایک چھوٹا رنر شروع کرتی ہے۔ یہ پروجیکٹ کے اپنے Vite اور @textjs/app سے روٹ فائلیں لوڈ کرتا ہے، اس لیے عرفی نام، TypeScript اور JSX ویسے ہی کام کرتے ہیں جیسے text dev میں۔ یہ میموری میں موجود ہسٹری استعمال کرکے کھلی فائل کے روٹ پر ⁦App Router⁩ کو اس کے لے آؤٹس سمیت ماؤنٹ کرتا ہے:

فائلپری ویو
app/page.tsx/
app/(shop)/items/[id]/page.tsx/items/id (ڈائنامک سیگمنٹس اپنا نام استعمال کرتے ہیں)
app/blog/[[...slug]]/layout.tsx/blog
components/Card.tsxڈیفالٹ ایکسپورٹ، یا پہلی PascalCase ایکسپورٹ، بغیر کسی پراپس کے

ایک ہی اوریجن کی fetch("/api/...") کالز آپ کے route.ts ہینڈلرز کو اسی پروسیس میں چلاتی ہیں، جیسے text run میں۔ گرڈ پینل کے سائز کے مطابق رہتا ہے، اور ایپ میں کسی بھی فائل کو محفوظ کرنے سے وہ دوبارہ رینڈر ہوتی ہے۔ ایررز فریم کے اوپر اپنے TX### صفحات کے لنکس کے ساتھ دکھتے ہیں۔

کمانڈز

کمانڈتفصیل
Text.js: ⁦Start Dev Server⁩آپ کی dev اسکرپٹ (یا text dev) کو ٹرمینل میں چلاتی ہے
Text.js: ⁦Stop Dev Server⁩⁦VS Code⁩ سے شروع کیے گئے ڈیو سرور کو روکتی ہے
Text.js: ⁦Open Preview⁩فعال فائل کا لائیو پری ویو کھولتی ہے
Text.js: ⁦Open in Browser Console⁩ڈیو سرور پر موجودہ روٹ کھولتی ہے۔ پھر براؤزر کونسول کھولیں
Text.js: ⁦New Page⁩میٹاڈیٹا اور ٹائپ شدہ params کے ساتھ app/<route>/page.tsx
Text.js: ⁦New Layout⁩app/<route>/layout.tsx
Text.js: ⁦New Route Handler⁩GET اور POST کے ساتھ app/<route>/route.ts
Text.js: ⁦New Loading UI / Error Boundary / Not Found Page⁩loading.tsx، error.tsx، not-found.tsx

اسکیفولڈنگ کمانڈز فولڈرز کے لیے Explorer کے کانٹیکسٹ مینو میں بھی موجود ہیں۔ یہ ⁦App Router⁩ کے سیگمنٹس جیسے settings، blog/[slug]، docs/[...path] اور (marketing)/about قبول کرتی ہیں، اور ایک ہی سیگمنٹ میں page اور route.ts رکھنے سے انکار کرتی ہیں۔ JavaScript پروجیکٹس (جن میں tsconfig.json نہیں ہے) کو .jsx اور .js فائلیں ملتی ہیں۔

اسنپٹس

پریفکسشامل کردہ مواد
txpage، txlayout، txloading، txerrorفولڈر کے نام پر روٹ فائلیں
txcفائل کے نام پر کونسول کمپوننٹ
txroute، txroutepپیرامیٹرز کے ساتھ یا ان کے بغیر روٹ ہینڈلرز
box، boxb، text، scrollbox، link، spinnerکمپوننٹس
input، select، tabsانٹرایکٹو کمپوننٹس
useInput، useKeymap، useFocus، useTheme، useViewport، useRouter، useIntervalہکس
metadata، txconfigروٹ میٹاڈیٹا اور text.config.ts

ایرر کوڈز

کسی بھی جگہ TX### کوڈ پر ماؤس رکھیں: سورس، لاگز، Output پینل یا پیسٹ کیے گئے اسٹیک ٹریس میں۔ ہوور اس کا عنوان، پیغام اور پیکیج، textjs.org پر اس کے صفحے کے لنک کے ساتھ دکھاتا ہے۔ ہر کوڈ ایک لنک بھی ہے (⌘-کلک)۔

اسٹیٹس بار

▼ آئٹم ڈیو سرور کی حالت اور کونسول گرڈ کا سائز دکھاتا ہے، مثلاً ▼ :3000 120×36۔ ٹیبز کا سائز جب بھی بدلتا ہے وہ ڈیو سرور کو اطلاع دیتے ہیں، چاہے کوئی پری ویو کھلا نہ ہو۔ اہم کمانڈز کے لیے آئٹم پر کلک کریں۔

ترتیبات

ترتیبڈیفالٹتفصیل
textjs.preview.modeautoauto، live یا headless
textjs.preview.followEditorfalseلائیو موڈ: زیرِ ترمیم روٹ کی پیروی
textjs.preview.fontSize12سیل کے فونٹ کا سائز (DevTools میں 12 استعمال ہوتا ہے)
textjs.preview.runtimeہیڈلیس پری ویوز کے لیے Node.js بائنری فائل (ڈیفالٹ: ⁦VS Code⁩ کے ساتھ شامل فائل)
textjs.devServer.urlڈیو سرور کا URL (ڈیفالٹ: پورٹس ⁦3000–3010⁩ پر تلاش)۔ صرف http:// لوپ بیک ایڈریس استعمال ہوتے ہیں
textjs.devServer.command⁦Start Dev Server⁩ کی کمانڈ

ورک اسپیس پر اعتماد

پری ویو اور ڈیو سرور آپ کے پروجیکٹ کا کوڈ (اس کی Vite کنفیگ، text.config.* اور کمپوننٹس) چلاتے ہیں۔ ⁦Restricted Mode⁩ میں ایکسٹینشن صرف اسنپٹس، اسکیفولڈنگ اور ایرر لنکس فراہم کرتی ہے، اور ورک اسپیس کی ترتیبات میں موجود textjs.preview.runtime، textjs.devServer.command اور textjs.devServer.url کو نظر انداز کرتی ہے۔ پری ویو آن کرنے کے لیے ورک اسپیس کو قابلِ اعتماد قرار دیں۔ آپ کے ورک اسپیس فولڈرز سے باہر کی فائلوں کا پری ویو کبھی نہیں دکھایا جاتا۔

کام کرنے کا طریقہ

text dev ایڈیٹرز کے لیے تین اینڈ پوائنٹس فراہم کرتا ہے۔ یہ صرف لوپ بیک ہوسٹ (localhost، 127.0.0.1، [::1]) کو بھیجے گئے لوپ بیک کنکشنز کا جواب دیتے ہیں، اور صرف ان درخواستوں کا جن میں Origin نہ ہو یا ڈیو سرور کا اپنا اوریجن ہو۔ براؤزرز کی کراس سائٹ اور no-cors درخواستیں مسترد ہوتی ہیں:

اینڈ پوائنٹ
GET /__textjs/statusپروجیکٹ روٹ، منسلک ٹیبز، گرڈ سائز اور موجودہ روٹ
GET /__textjs/framesسرور سے بھیجے گئے ایونٹس: ہر تبدیلی پر ایک frame ایونٹ، قطاروں کے فرق کی صورت میں انکوڈ شدہ
POST /__textjs/inputٹیب کے لیے کوئی کی، پیسٹ، IME یا ڈیڈ کی کا متن (text)، وہیل یا نیویگیشن۔ JSON اور x-textjs-mirror: 1 ہیڈر درکار ہیں، اس لیے دوسری سائٹس کی اسٹروکس نہیں بھیج سکتیں

ٹیبز Vite کے HMR ساکٹ پر ڈیو سرور کو فریم بھیجتے ہیں، جس کے لیے ہر سرور کا الگ ٹوکن درکار ہوتا ہے۔ اگر آپ اپنا ویوئر بنانا چاہیں تو وائر فارمیٹ @textjs/app/frame-protocol سے ایکسپورٹ ہوتا ہے (FrameEncoder، FrameDecoder، parseInputMessage)۔ اس میں سے کچھ بھی text build کے آؤٹ پٹ میں موجود نہیں ہوتا۔

⁦GitHub⁩ پر اس صفحے میں ترمیم کریں