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 फ़ाइल के रूट पर ले जाने के लिए जिसे आप एडिट कर रहे हैं, Follow (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 ServerVS Code से शुरू किए गए डेव सर्वर को रोकता है
Text.js: Open Previewसक्रिय फ़ाइल के लिए लाइव प्रीव्यू खोलता है
Text.js: Open in Browser Consoleडेव सर्वर पर मौजूदा रूट खोलता है। फिर ब्राउज़र कंसोल खोलें
Text.js: New Pageमेटाडेटा और टाइप किए गए params के साथ app/<route>/page.tsx
Text.js: New Layoutapp/<route>/layout.tsx
Text.js: New Route HandlerGET और POST के साथ app/<route>/route.ts
Text.js: New Loading UI / Error Boundary / Not Found Pageloading.tsx, error.tsx, not-found.tsx

स्कैफ़ोल्डिंग कमांड फ़ोल्डर के Explorer कॉन्टेक्स्ट मेन्यू में भी हैं। वे settings, blog/[slug], docs/[...path] और (marketing)/about जैसे App Router सेगमेंट स्वीकार करते हैं और एक ही सेगमेंट में 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.commandStart 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 पर यह पेज एडिट करें