मुख्य सामग्री पर जाएं
होम
Docs/कोड एडिटर

कोड एडिटर

एडिटर ऐप के ऊपर फ़ुल स्क्रीन में खुलता है और बंद करने पर भी आपके टैब बनाए रखता है। यह 39 भाषाओं को हाइलाइट करता है, उनमें से 19 के लिए वन-टैप लैंग्वेज सर्वर देता है, 17 लोकल रनर से डिवाइस पर ही कोड चलाता है, और कमांड पैलेट, प्रिव्यू, स्निपेट व छोटे टूल जोड़ता है। यह पेज सिर्फ़ एडिटर के बारे में है; Git और पैनल के अपने अलग पेज हैं।

PocketCode editor on a tablet with hello.py open: the explorer docked on the left with the open tabs and the TaskCLI project tree, the tab strip, Python code, the symbol bar and the status bar
टैबलेट पर एडिटर: बाईं ओर डॉक किया हुआ एक्सप्लोरर, टैब, कोड, सिंबल बार और स्टेटस बार।

यह क्या है और कैसे खोलें

एडिटर ऐप के ऊपर एक फ़ुल-स्क्रीन लेयर है, pager के पाँच पेजों में से कोई एक नहीं। इसे बंद करने से आपके टैब बंद नहीं होते: दोबारा खोलने पर वे वहीं मिलते हैं।

इसे खोलने के तरीके

  • pager से। File Explorer पेज पर किसी फ़ाइल को टैप करें: वह Editor पेज पर खुलती है, जो pager का चौथा पेज है। वहाँ Open in editor उसे फ़ुल स्क्रीन में ले जाता है।
  • नेविगेशन से। Go to definition, सर्च रिज़ल्ट, AI और वर्कफ़्लो किसी फ़ाइल को सही लाइन पर, प्रिव्यू टैब में खोलते हैं।
  • किसी दूसरे ऐप से। PocketCode से कोई टेक्स्ट फ़ाइल खोलें या एडिट करें तो वह On device टैब के रूप में खुलती है। जब तक आप ख़ुद न करें, कुछ भी सेव, रन या स्विच नहीं होता।
  • एडिटर के अंदर से। Open file from device… (मेन्यू या पैलेट में) Android का फ़ाइल पिकर खोलता है।
  • बाहर निकलने के लिए। Back जेस्चर इस्तेमाल करें। अनसेव्ड बदलाव होने पर Unsaved changes दिखता है, जिसमें Save, Discard और Cancel हैं; ऑटोसेव बंद होने पर यह बताता है कि कुछ भी नहीं लिखा गया।
The Editor page of the pager with hello.py open as a tab and the Open in editor button at the bottom
pager का Editor पेज, अपने टैब के साथ और Open in editor बटन के साथ, जो फ़ाइल को फ़ुल स्क्रीन में ले जाता है।
Full-screen editor on a phone with hello.py open: top bar, tab, Python code, symbol bar, status bar and the Run panel showing the output and exit 0
फ़ोन पर एडिटर, Run पैनल खुला हुआ: टॉप बार, टैब, कोड, सिंबल बार, स्टेटस बार और hello.py का आउटपुट।

फ़ोन, टैबलेट और कीबोर्ड

कहाँक्या बदलता है
840 dp से कम चौड़ाई (फ़ोन, छोटे टैबलेट)एक्सप्लोरर एक ड्रॉअर है। इसे Explorer से या टैब स्ट्रिप के आख़िर में ▾ से खोलें।
840 dp या उससे ज़्यादा चौड़ाई (टैबलेट)एक्सप्लोरर बाईं ओर डॉक रहता है। वही कमांड उसे दिखाता या छिपाता है, और आप उसके किनारे को खींचकर उसका आकार बदल सकते हैं।
कीबोर्ड खुला होस्टेटस बार छिप जाता है। लैंडस्केप में टॉप बार और टैब स्ट्रिप भी छिप जाते हैं, ताकि कोड के लिए जगह बने।
Zen modeबार और Android के सिस्टम बार छिपा देता है। एडिटर की स्क्रीन देखें।
Ctrl+P जैसे शॉर्टकट सिर्फ़ फ़िज़िकल कीबोर्ड के साथ काम करते हैं। फ़ोन पर सिंबल बार की कमांड कुंजी, More options मेन्यू या पैलेट इस्तेमाल करें: वे वही कमांड चलाते हैं।

स्क्रीन मैप

एडिटर की हर स्क्रीन और शीट के लिए एक पंक्ति। जिन पैनल का अपना पेज है वे Git और बाकी पैनल में हैं।

स्क्रीनवहाँ कैसे पहुँचेंआप क्या कर सकते हैं
Editor (फ़ुल स्क्रीन)Editor पेज पर Open in editor, या किसी दूसरे ऐप से खोली गई फ़ाइलफ़ाइलें एडिट, सेव और रन करना। नीचे की हर चीज़ यहीं से जुड़ी है।
टॉप बारहमेशा ऊपर, zen mode को छोड़करफ़ाइल का नाम और पाथ; DevBrowser, Run, Save file और More options। Markdown पर प्रिव्यू टॉगल पहले दो की जगह लेता है।
टैब स्ट्रिपटॉप बार के नीचेटैब बदलना, क्रम बदलना, पिन करना और बंद करना; प्रिव्यू टैब; स्प्लिट में खोलना।
BreadcrumbSettings → Breadcrumb (डिफ़ॉल्ट रूप से बंद)पाथ और मौजूदा सिंबल; वहाँ जाने के लिए टैप करें।
कोड एरिया—हाइलाइटिंग, मल्टी-कर्सर, कॉलम सिलेक्शन, बुकमार्क, स्निपेट, ज़ूम के लिए पिंच।
सिंबल बारकीबोर्ड के ऊपरहर भाषा की सिंबल कुंजियाँ, undo और redo, और कर्सर पैड वाली कमांड कुंजी।
स्टेटस बारस्क्रीन के नीचेलाइन और कॉलम, भाषा, एन्कोडिंग, लाइन एंडिंग, Git ब्रांच, लैंग्वेज सर्वर और Problems।
Zen modeF11 या Toggle Zen Modeबार छिपा देता है; एक फ़्लोटिंग बटन उन्हें वापस लाता है।
ExplorerExplorer, टैब स्ट्रिप का ▾, या Ctrl+Shift+Eखुले टैब और प्रोजेक्ट ट्री: बनाना, नाम बदलना, डिलीट करना, फ़िल्टर, Git मार्क।
More options मेन्यूटॉप बार में रिंच आइकनसभी कमांड छह सेक्शन में, सर्च और क्विक एक्सेस के साथ।
कमांड पैलेट और Quick OpenCtrl+P, Ctrl+Shift+P या कमांड कुंजीफ़ाइलें खोलना, कमांड चलाना, किसी लाइन या सिंबल पर जाना।
Find and replaceCtrl+F या Ctrl+Hखुली फ़ाइल में सर्च, केस, पूरा शब्द, regex और preserve-case विकल्पों के साथ।
Search in FilesCtrl+Shift+Fपूरे प्रोजेक्ट में टेक्स्ट या regex खोजना और कोई रिज़ल्ट खोलना।
Go to और रीफ़ैक्टर डायलॉगमेन्यू या पैलेटGo to line, Go to Symbol, definition, peek, references, Rename Symbol, Auto Import, extract, Quick Fixes, Color Picker।
प्रिव्यूटॉप बार (Markdown) या View सेक्शनMarkdown, इमेज, ट्री व्यू (JSON, YAML) और टेबल व्यू (CSV, TSV)।
स्प्लिट व्यूCtrl+\ या Open in splitसिर्फ़ पढ़ने वाला दूसरा पैन।
भाषा, एन्कोडिंग और लाइन एंडिंगस्टेटस बार में इन पर टैप करेंफ़ाइल की भाषा, एन्कोडिंग लेबल और LF, CRLF या CR चुनना।
Language serversस्टेटस बार का LSP आइटम, या कमांडवन-टैप सर्वर इंस्टॉल, अपडेट और हटाना; देखना कि इस फ़ाइल को कौन-सा सर्वर चला रहा है।
Run पैनलRun या F5आउटपुट, stop, stdin, फ़िल्टर, कॉपी और एरर पर जाना।
Run with argumentsCtrl+F5 या Run पैनलआर्ग्युमेंट, हाल के रन और WASM इंजन के लिए नेटवर्क।
टास्क और लॉन्च कॉन्फ़िगरेशनRun पैनल मेंप्रोजेक्ट टास्क और सेव किए हुए रन कॉन्फ़िगरेशन।
Plugin managerSettings → Compilers and runtimesLua, Go और Rhai रनटाइम इंस्टॉल या हटाना।
Snippets Libraryमेन्यू का Edit सेक्शन, या पैलेटबिल्ट-इन, आपके अपने और Showcase स्निपेट।
Dev UtilitiesTools सेक्शनआपके सिलेक्शन या क्लिपबोर्ड पर चलने वाली ग्यारह ऑन-डिवाइस यूटिलिटी।
Scratchpad, Pomodoro Timer, TODO PanelTools सेक्शनएक नोट, एक वर्क टाइमर और प्रोजेक्ट की TODO/FIXME टिप्पणियाँ।
Keyboard Shortcuts, What's NewTools सेक्शनशॉर्टकट की सर्चेबल सूची और changelog।
My themesView सेक्शन (Pro)एडिटर थीम इम्पोर्ट करना, बनाना और एडिट करना।
Editor appearanceSettings → Appearance → Editor appearanceएडिटर की थीम, फ़ॉन्ट, साइज़ और वॉलपेपर चुनना।

एडिटर की स्क्रीन

ऊपर से नीचे: टॉप बार, टैब स्ट्रिप, breadcrumb (अगर आप चालू करें), कोड, Run पैनल जब तक वह खुला है, सिंबल बार और स्टेटस बार। टैबलेट पर एक्सप्लोरर बाईं ओर रहता है।

टॉप बार

आप क्या कर सकते हैं

  • फ़ाइल का नाम पढ़ना और उसके नीचे उसका फ़ोल्डर (या प्रोजेक्ट का नाम) देखना।
  • फ़ाइल को बिल्ट-इन ब्राउज़र में, प्रोजेक्ट के local server से, खोलने के लिए DevBrowser पर टैप करना।
  • फ़ाइल चलाने के लिए Run पर टैप करना, जो experimental के रूप में चिह्नित है (कोड चलाना देखें)।
  • Save file पर टैप करना। यह सिर्फ़ तभी चालू रहता है जब अनसेव्ड बदलाव हों।
  • Markdown फ़ाइल पर, टेक्स्ट और रेंडर किए गए पेज के बीच बदलने के लिए Toggle Markdown Preview इस्तेमाल करना।
  • मेन्यू खोलने के लिए More options पर टैप करना।

आप क्या नहीं कर सकते, और क्यों

  • दूसरे ऐप से खोली गई फ़ाइलों (On device टैब) पर या Markdown फ़ाइलों पर DevBrowser और Run इस्तेमाल करना; Markdown में उनकी जगह प्रिव्यू टॉगल आ जाता है।जानबूझकर
  • ऐसी फ़ाइल चलाना जिसका कोई रनर नहीं है: Run ग्रे दिखता है (जैसे Perl, C++ या Swift, जो अभी इंस्टॉल नहीं हो सकते)।अभी नहीं

स्टेटस बार

लगभग हर आइटम एक बटन है। पूरे बार को Settings (Status bar) में बंद किया जा सकता है।

आइटमयह क्या करता है
लाइन और कॉलम (Ln 12, Col 4)Go to line खोलने के लिए टैप करें।
Sel 24टेक्स्ट सेलेक्ट होने पर दिखता है और बताता है कि कितने अक्षर सेलेक्ट हैं।
भाषाइस फ़ाइल के लिए भाषा पिकर खोलता है।
एन्कोडिंग (UTF-8)पिकर खोलता है, लेकिन सिर्फ़ लेबल बदलता है: फ़ाइलें हमेशा UTF-8 में ही पढ़ी और लिखी जाती हैं।
लाइन एंडिंग (LF)पिकर खोलता है। कोई एक चुनने पर टेक्स्ट बदल जाता है, और आप उसे undo कर सकते हैं।
Git ब्रांचSource Control खोलता है।
LSPइस फ़ाइल के लैंग्वेज सर्वर की स्थिति: ready, connecting, error, none, installing, या not installed (एक डाउनलोड आइकन: इंस्टॉल करने के लिए टैप करें)। Language servers खोलता है।
Problemsखुली फ़ाइलों के एरर और वार्निंग गिनता है और Problems पैनल खोलता है।
Saved / Unsavedफ़ाइल में ऐसे बदलाव हैं या नहीं जो डिस्क पर नहीं हैं।

Zen mode

Toggle Zen Mode (F11 या मेन्यू) टॉप बार, टैब स्ट्रिप, breadcrumb और स्टेटस बार को छिपा देता है, और Android के अपने सिस्टम बार को भी; सिंबल बार सिर्फ़ तब दिखता है जब कीबोर्ड खुला हो। एक फ़्लोटिंग Exit zen mode बटन तीन सेकंड बाद धुँधला होकर ग़ायब हो जाता है, और Back दबाने से भी zen mode बंद हो जाता है।

Breadcrumb

Settings में Breadcrumb चालू करें (यह डिफ़ॉल्ट रूप से बंद है)। यह पाथ और कर्सर जहाँ है वह सिंबल दिखाता है। किसी फ़ोल्डर पर टैप करने से उसके साथी फ़ोल्डर/फ़ाइलें दिखती हैं, फ़ाइल पर टैप करने से आउटलाइन खुलती है, और किसी सिंबल पर टैप करने से आप वहाँ पहुँच जाते हैं।

एडिटिंग इंजन

एडिटर Sora Editor 0.24.6 पर बना है और TextMate ग्रामर इस्तेमाल करता है।

आप क्या कर सकते हैं

  • टाइप करते समय कोड देखना। हाइलाइटिंग रीयल टाइम में चलती है, साथ में लाइन नंबर, इंडेंट गाइड, sticky scroll, लंबे प्रेस पर मैग्निफ़ायर और पिंच-टू-ज़ूम।
  • Settings में व्यू ट्यून करना (Editor · writing और Editor · view)। लाइन नंबर और कलर स्वैच चालू रहते हैं; word wrap, मिनीमैप, अदृश्य अक्षर, कॉलम गाइड (80 पर), inlay hints और फ़ॉन्ट लिगेचर बंद रहते हैं।
  • एक साथ कई जगह एडिट करना। Add Cursors to All Occurrences (Ctrl+Shift+L) कर्सर के नीचे वाले शब्द के हर occurrence पर एक कर्सर लगा देता है: एक बार टाइप करें और सब जगह लागू हो जाता है, उन्हें हटाने के लिए ✕ टैप करें। यह ऑन-स्क्रीन कीबोर्ड के साथ भी काम करता है। Column Selection एक आयताकार ब्लॉक सेलेक्ट करता है।
  • Undo और redo हर टैब के लिए 200 क़दम तक, जो Ctrl+Z, सिंबल बार और मेन्यू में साझा हैं। जिस टैब को Android मेमोरी से उतार देता है, उसकी हिस्ट्री तभी बची रहती है जब फ़ाइल 128,000 अक्षर या उससे कम की हो, और सिर्फ़ 8 टैब के लिए।
  • पूरा करना और फ़ॉर्मैट करना। कम्प्लीशन एडिटर के अपने इंजन से आता है और, कनेक्ट होने पर, लैंग्वेज सर्वर से भी। Format Document (Shift+Alt+F, इसके लिए Settings में Code formatter चालू होना चाहिए) पहले लैंग्वेज सर्वर आज़माता है और फिर 24 भाषाओं के लिए बिल्ट-इन फ़ॉर्मैटर पर लौट आता है: Kotlin, Java, JavaScript, TypeScript, C, C++, C#, Dart, Go, Swift, Rust, PHP, Scala, Gradle, Python, XML, HTML, JSON, YAML, CSS, SCSS, Less, SQL और Markdown।
  • लाइनों पर निशान लगाना। Toggle Bookmark (Ctrl+Alt+K), अगला (Ctrl+Alt+L), पिछला (Ctrl+Alt+J) और सब साफ़ करें। बुकमार्क खुले टैब के साथ रहते हैं: टैब या ऐप बंद करने पर वे चले जाते हैं।
  • Emmet एक्सपैंड करना। Expand Emmet Abbreviation (मेन्यू या पैलेट, कोई शॉर्टकट नहीं, Tab इसे ट्रिगर नहीं करता) टैग, .class, #id, >, +, *n, {text}, [attrs], ! या html:5 जैसे alias, और m10 या df जैसे CSS शॉर्टहैंड संभालता है। यह एक सबसेट है: ^ नहीं है और $ नंबरिंग भी नहीं है।
  • बिना सोचे सेव करना। ऑटोसेव चालू है और atomic तरीक़े से लिखता है (बड़ी फ़ाइलें, एन्कोडिंग और सेव करना देखें)।

आप क्या नहीं कर सकते, और क्यों

  • कोड फ़ोल्ड करना। कोड फ़ोल्डिंग नहीं है क्योंकि Sora Editor 0.24.6 में यह नहीं है; स्ट्रक्चर सिर्फ़ breadcrumb और आउटलाइन के काम आता है।थर्ड पार्टी

बड़ी फ़ाइलें, एन्कोडिंग और सेव करना

फ़ाइल खोलने से पहले एडिटर उसका साइज़ और कंटेंट देखता है। बड़ी या असामान्य फ़ाइल पर कुछ फ़ीचर बंद हो जाते हैं, या फ़ाइल लोड ही नहीं होती, ताकि ऐप क्रैश न हो।

फ़ाइल कैसे खुलती है

फ़ाइलकैसे खुलती हैक्या बदलता है
बाइनरी: पहले 8 KB में NUL बाइट, या 30 % से ज़्यादा नॉन-टेक्स्ट बाइटएक कार्ड जो बताता है कि फ़ाइल बाइनरी हैइमेज के लिए View image, या Open as text (read-only)।
80 MB या उससे ज़्यादाखुलती नहीं: Too large to open hereसिर्फ़ Open with another app (या बंद करें)।
20 MB या उससे ज़्यादाRead-only, लाइट मोड मेंआप उसे पढ़ और सर्च कर सकते हैं, एडिट नहीं।
512 KB या उससे ज़्यादा, 10,000 या ज़्यादा लाइनें, या 2,000 या ज़्यादा अक्षरों की एक लाइनLight modeहाइलाइटिंग, मिनीमैप, लैंग्वेज सर्वर, AI सुझाव, ऑटोकम्प्लीट, word wrap, sticky scroll, lint, कलर स्वैच और inlay hints बंद हो जाते हैं। Enable highlighting anyway हाइलाइटिंग वापस ले आता है।
बाक़ी सबसामान्यसब कुछ चालू।
ये सीमाएँ एडिटर की अपनी ट्यूनिंग हैं, जिनका मक़सद मेमोरी ख़त्म होने से बचाना है: 512 KB वाली सीमा एक फ़ोन पर नापे गए मामले से आई है, और 20 MB व 80 MB वाली सीमाओं को दोबारा नहीं नापा गया। हर सीमा सटीक संख्या गिनती है, इसलिए 512 KB की फ़ाइल पहले से ही लाइट मोड में होती है।

आपके प्रोजेक्ट के बाहर की फ़ाइलें

  • Open file from device… और दूसरे ऐप से Open with PocketCode Android के फ़ाइल पिकर का इस्तेमाल करते हैं, बिना किसी स्टोरेज परमिशन के। टैब पर On device लिखा होता है।
  • सिर्फ़ 20 MB तक का वैध UTF-8 टेक्स्ट ही खुलता है। NUL बाइट वाली फ़ाइल बाइनरी मानकर अस्वीकार कर दी जाती है, और non-UTF-8 फ़ाइल इसलिए अस्वीकार होती है ताकि वह ख़राब न हो।
  • अगर दूसरे ऐप ने लिखने की अनुमति नहीं दी, तो टैब पर On device · read-only लिखा होता है: आप एडिट कर सकते हैं, फिर Save as… इस्तेमाल करें।
  • Save as… (Ctrl+Shift+S) टैब को किसी भी जगह लिख देता है, और टैब अब उसी दस्तावेज़ की ओर इशारा करता है।

सेव करना

विषयक्या होता है
ऑटोसेवडिफ़ॉल्ट रूप से चालू, हर 2 सेकंड पर। Settings में Autosave interval: Off, 1 s, 2 s, 5 s या 10 s। लिखना atomic होता है।
लाइन एंडिंगLF, CRLF या CR। सेव करते समय टैब की अपनी स्टाइल लिखी जाती है; मिली-जुली एंडिंग वाली फ़ाइल हर लाइन की अपनी एंडिंग बनाए रखती है।
BOMUTF-8 byte-order mark बनाए रखा जाता है और वापस लिखा जाता है।
.editorconfigप्रोजेक्ट रूट वाली फ़ाइल पढ़ी जाती है। indent_style, indent_size, tab_width, end_of_line और max_line_length (कॉलम गाइड) लागू होते हैं। trim_trailing_whitespace और insert_final_newline पढ़े जाते हैं पर लागू नहीं होते, और charset सिर्फ़ एन्कोडिंग लेबल का नाम बदलता है।
एन्कोडिंगस्टेटस बार UTF-8 दिखाता है। पिकर UTF-8, UTF-16LE, UTF-16BE, ISO-8859-1 और ASCII देता है, लेकिन सिर्फ़ लेबल बदलता है: PocketCode सिर्फ़ UTF-8 पढ़ता और लिखता है। पैलेट का Change File Encoding कमांड इसके बजाय सात लेबलों में घूमता है (UTF-8, ISO-8859-1, US-ASCII, UTF-16, UTF-16BE, UTF-16LE और Windows-1252), असर वही रहता है।
लाइन के अंत के स्पेसहर सेव हर लाइन के अंत की सफ़ेद जगह हटा देता है। इसका कोई स्विच नहीं है, और .editorconfig इसे बंद नहीं कर सकता। Markdown में इसमें hard line break के लिए इस्तेमाल होने वाले दो अंतिम स्पेस भी शामिल हैं।
डिस्क पर बदल गईअगर आपके अनसेव्ड एडिट होते हुए फ़ाइल डिस्क पर बदल जाए, तो एक बैनर Changed on disk while you have unsaved edits. के साथ Compare, Reload और Keep mine दिखाता है।

आप क्या नहीं कर सकते, और क्यों

  • यहाँ 80 MB या उससे बड़ी फ़ाइल खोलना, या 20 MB या उससे बड़ी फ़ाइल एडिट करना।डिवाइस
  • दूसरी एन्कोडिंग पढ़ना या लिखना: एडिटर सिर्फ़ UTF-8 टेक्स्ट संभालता है, और एन्कोडिंग पिकर एक लेबल है।अभी नहीं
  • सेव करते समय लाइन के अंत के स्पेस बनाए रखना: वे हमेशा हटा दिए जाते हैं।जानबूझकर
  • किसी दूसरे ऐप की ऐसी फ़ाइल खोलना जो UTF-8 टेक्स्ट नहीं है, जिसमें NUL बाइट हैं या जो 20 MB से बड़ी है।जानबूझकर

टैब

टॉप बार के नीचे की स्ट्रिप कितने भी टैब होने पर दिखती है, सिवाय zen mode के और कीबोर्ड खुले होने पर लैंडस्केप के।

आप क्या कर सकते हैं

  • हर टैब की स्थिति देखना। सक्रिय टैब के नीचे रेखा होती है, ● अनसेव्ड बदलाव दिखाता है, ✕ सक्रिय टैब बंद करता है, लोड होते समय स्पिनर दिखता है और ⚠ पढ़ने की त्रुटि या डिस्क पर बदलाव दिखाता है।
  • प्रिव्यू टैब इस्तेमाल करना। नेविगेशन से खुली फ़ाइलें एक ही इटैलिक टैब को दोबारा इस्तेमाल करती हैं। एडिट करने, सेव करने, उस पर डबल-टैप करने या Keep open चुनने पर वह सामान्य टैब बन जाता है। यह व्यवहार Settings (Open in preview when navigating) में बंद किया जा सकता है। रीस्टोर किया गया टैब कभी प्रिव्यू बनकर नहीं लौटता।
  • क्रम बदलना। दबाकर रखें, फिर खींचें; या टैब मेन्यू में Move left और Move right इस्तेमाल करें।
  • पिन करना। टैब मेन्यू में Pin और Unpin। पिन किए टैब बाक़ी से अलग रहते हैं और एक साथ बंद करने की कार्रवाई उन्हें कभी बंद नहीं करती।
  • एक साथ बंद करना। Close, Close others, Close to the right, Close saved और Close all। Reopen closed tab (Ctrl+Shift+T) 20 तक बंद किए टैब वापस लाता है।
  • पाथ कॉपी करना और स्प्लिट। Copy path, Copy relative path और Open in split टैब मेन्यू में हैं।
  • वहीं लौटना जहाँ आप थे। प्रोजेक्ट दोबारा खोलने पर टैब (पिन किए हुए सहित), कर्सर, सिलेक्शन और स्क्रॉल हर प्रोजेक्ट के हिसाब से रीस्टोर होते हैं। रीस्टोर किया गया टैब तभी लोड होता है जब आप उसे खोलें। pager का Editor पेज इसे सेव रखता है।

आप क्या नहीं कर सकते, और क्यों

  • 20 से ज़्यादा टैब रखना: 21वाँ खोलने पर सबसे कम हाल में इस्तेमाल हुआ वह टैब बंद हो जाता है जिसमें अनसेव्ड बदलाव नहीं हैं, और undo के साथ Closed … (limit of 20 tabs) दिखता है। अगर हर टैब में बदलाव हैं या वह पिन है, तो वह फिर भी सीमा से ऊपर खुल जाता है।डिवाइस
  • हर टैब का टेक्स्ट मेमोरी में रखना: फ़ोन की मेमोरी के हिसाब से सिर्फ़ 4, 6 या 10 टैब लोड रहते हैं; बाक़ी तब दोबारा लोड होते हैं जब आप उन पर जाते हैं।डिवाइस

मेन्यू, कमांड पैलेट और Quick Open

पैलेट ऊपर चिपका हुआ एक पैनल है, VS Code जैसा। इसके चार मोड हैं — All, Commands, Files और Symbols — जो आपके टाइप किए पहले अक्षर से या इस बात से तय होते हैं कि आपने इसे कैसे खोला।

प्रीफ़िक्स

आप टाइप करेंआपको मिलता है
कुछ नहीं (Ctrl+P)Quick Open: प्रोजेक्ट की फ़ाइलें, पाथ के हिस्सों पर fuzzy मैच, मैच हाइलाइट किए हुए, हाल की फ़ाइलें पहले, 50 रिज़ल्ट तक।
> (Ctrl+Shift+P)कमांड, जो टाइटल, सेक्शन और विवरण पर मैच होते हैं। टेक्स्ट न होने पर पहले Frequent दिखता है, फिर सेक्शन।
: और एक संख्याउस लाइन पर जाएँ। यह सिर्फ़ एडिटर के अंदर काम करता है।
@सक्रिय फ़ाइल के सिंबल।
कमांड कुंजी (All मोड)फ़ाइलें, कमांड और सिंबल एक साथ।

Quick Open 50,000 फ़ाइलों तक इंडेक्स करता है। यह छिपे फ़ोल्डर, build और dependency फ़ोल्डर, और प्रोजेक्ट की .gitignore जो कुछ अनदेखा करती है उसे छोड़ देता है। पैलेट पहली बार खोलने पर एक हिंट दिखता है: Type > for commands, : to jump to a line, @ for symbols।

More options मेन्यू

  • टॉप बार का रिंच आइकन एक शीट खोलता है, जिसमें सर्च फ़ील्ड (Search action…) और एक Quick access पंक्ति है: शुरू में Format, Find, Go to Symbol, Source Control और Run, फिर आपके Frequent कमांड, जब उनमें से चार को कम से कम दो बार इस्तेमाल किया जा चुका हो।
  • छह सेक्शन: Edit, View, Go to, Git, AI और Tools। Tools समूह के हिसाब से कार्ड के रूप में दिखता है: Run, Project, Collaborate, Utilities और Help & settings।
  • मेन्यू, पैलेट और शॉर्टकट शीट 103 कमांड की एक ही सूची से पढ़ते हैं, इसलिए तीनों में एकरूपता रहती है। जो कमांड लागू नहीं होता वह छिपा रहता है: रनर के बिना Run File, प्रोजेक्ट के बिना Dependencies या Deploy Project, और बुकमार्क के बिना अगला और पिछला बुकमार्क।
  • एन्कोडिंग, लाइन एंडिंग, भाषा और टैब कमांड मेन्यू में नहीं हैं: स्टेटस बार, पैलेट या कीबोर्ड इस्तेमाल करें।

हर सेक्शन में क्या है

सेक्शनकमांड
Edit · 28Undo, redo, save, Save as…, Save all, format, Emmet, find and replace, rename, extract method और variable, organize imports, Quick Fixes, Auto Import, मल्टी-कर्सर, कॉलम सिलेक्शन, Snippets Library, Color Picker, लाइन move, duplicate और delete, comment, लाइनें sort करना, UPPERCASE और lowercase।
View · 13Zen mode, split editor, अदृश्य अक्षर, Markdown, इमेज, ट्री और टेबल प्रिव्यू, Compare with…, एन्कोडिंग, लाइन एंडिंग, भाषा, Explorer और My themes।
Go to · 23Open File…, Open file from device…, पैलेट, Search in Files, symbol, outline, line, definition, peek, references, बुकमार्क, अगली और पिछली problem, Problems, Analyze Style (Lint) और टैब कमांड।
Git · 3Source Control, GitHub PRs & Issues और Local History…। इनके बारे में Git और बाकी पैनल में बताया गया है।
AI · 12सिलेक्शन के बारे में AI से पूछना (Ctrl+I), explain, tests, docs या कमेंट से कोड जनरेट करना, refactor, AI Generators, errors ठीक करना, optimize, simplify, modernize और generate।
Tools · 24Run, debug और breakpoints, Run with Arguments…, New Run Configuration, Dependencies, Test Explorer, Open in DevBrowser, Docker Tools, Monitoring, Backend Generators, Deploy Project, Live Collaboration, Dev Utilities, Language servers, Scratchpad, TODO Panel, Pomodoro Timer, Keyboard Shortcuts, What's New और Editor Settings।
शॉर्टकट की पूरी सूची और कीमैप प्रीसेट Settings में हैं: Settings · Keyboard shortcuts

किसी फ़ाइल में खोजना, प्रोजेक्ट में खोजना और कोड में घूमना तीन अलग टूल हैं।

फ़ाइल में Find and replace

  • Ctrl+F Find खोलता है और Ctrl+H Find and Replace खोलता है; दोनों Edit सेक्शन में भी हैं।
  • चार विकल्प चिप: Aa (match case), Whole word, .* (regular expressions) और AB (बदलते समय केस बनाए रखना)। Previous और Next मैच के बीच जाते हैं; Replace और Replace All इसी फ़ाइल पर काम करते हैं।

Search in Files

  • Ctrl+Shift+F, या Go to सेक्शन में Search in Files, फ़ुल-स्क्रीन सर्च खोलता है। कम से कम दो अक्षर टाइप करें। यह N matches in M files दिखाता है, और किसी रिज़ल्ट पर टैप करने से फ़ाइल उसी लाइन पर खुलती है।
  • विकल्प: regular expression, केस और whole word।
  • यह प्रोजेक्ट में node_modules, .git, build, dist, target, out, venv और ऐसे ही फ़ोल्डर छोड़कर चलता है, सिर्फ़ कोड और टेक्स्ट एक्सटेंशन की एक तय सूची पढ़ता है, 512 KB या उससे बड़ी फ़ाइलें छोड़ देता है और 500 रिज़ल्ट पर रुक जाता है।

Go to

कमांडयह क्या करता है
Go to line (Ctrl+G, या पैलेट में :)1 से आख़िरी लाइन तक की कोई संख्या।
Go to Symbol (पैलेट में @)मौजूदा फ़ाइल के फ़ंक्शन, क्लास, इंटरफ़ेस, मेथड और दूसरे सिंबल की fuzzy सर्च, पूरे प्रोजेक्ट की नहीं।
Go to Definition (F12)लैंग्वेज सर्वर इस्तेमाल करता है और, जब कोई न हो, उस भाषा के पैटर्न।
Peek Definition (Alt+F12)फ़ाइल छोड़े बिना, पॉपअप में कुछ लाइनों के संदर्भ के साथ definition दिखाता है।
Find References (Shift+F12)लैंग्वेज सर्वर के साथ, उसे मिले references, संभवतः दूसरी फ़ाइलों में भी। उसके बिना, सिर्फ़ मौजूदा फ़ाइल में टेक्स्ट सर्च।
Next Problem और Previous Problem (F8, Shift+F8)फ़ाइल के errors और warnings के बीच कूदते हैं।

रीफ़ैक्टरिंग

कमांडयह क्या करता है
Rename Symbol (F2)एक प्रिव्यू दिखाता है जो Code occurrences को Comment/String occurrences से अलग करता है, जिन्हें rename नहीं किया जाएगा। Rename All इसे लागू करता है। लैंग्वेज सर्वर के साथ यह दूसरी फ़ाइलें भी एडिट कर सकता है: जो फ़ाइलें खुली नहीं हैं वे डिस्क पर लिखी जाती हैं और खुली फ़ाइलों में हर एक को एक undo स्टेप मिलता है। उसके बिना, यह टेक्स्ट पैटर्न से मौजूदा फ़ाइल में rename करता है।
Auto Importउन सिंबल के लिए import सुझाता है जो अभी इम्पोर्ट नहीं हुए, Kotlin, Java, Python, JavaScript और TypeScript, Go और Rust के जाने-माने सिंबल की एक बिल्ट-इन तालिका से। यह आपके प्रोजेक्ट के अपने सिंबल नहीं खोजता। Organize Imports (Ctrl+Shift+O) एक अलग कमांड है।
Extract Method, Extract Variableभाषा के हिसाब से जनरेट होते हैं, कोई शॉर्टकट नहीं।
Quick Fixes (Ctrl+.)डायग्नोस्टिक के लिए वन-टैप फ़िक्स। एडिटर के पास JavaScript और TypeScript, Kotlin, Java, Python, CSS, SCSS और Less, Go और Rust के अपने फ़िक्स हैं।
Color Pickerटैब Hex, Palette और Sliders। Insert कर्सर पर #RRGGBB (या #AARRGGBB) डालता है या उसके नीचे का रंग बदल देता है।

आप क्या नहीं कर सकते, और क्यों

  • Search in Files में फ़ाइलों के बीच replace करना, केस बनाए रखना या सर्च की हिस्ट्री रखना: यह सिर्फ़ खोजता है।अभी नहीं
  • 512 KB से बड़ी फ़ाइलों में खोजना, 500 से ज़्यादा रिज़ल्ट पाना, या तय सूची से बाहर के फ़ाइल प्रकार खोजना।जानबूझकर
  • लैंग्वेज सर्वर के बिना पूरे प्रोजेक्ट के references पाना: यह मौजूदा फ़ाइल पर लौट आता है।अभी नहीं

भाषाएँ और लैंग्वेज सर्वर

हाइलाइटिंग 39 भाषाओं और फ़ॉर्मैट के लिए काम करती है; इनमें से 19 के लिए ऐसा लैंग्वेज सर्वर भी है जिसे आप एक टैप में इंस्टॉल करते हैं।

हाइलाइटिंग

C, C++, C#, Kotlin, Java, JavaScript, TypeScript, TypeScript React, Vue, Svelte, Astro, GraphQL, Prisma, Python, Go, Swift, PHP, Ruby, Rust, Dart, XML, HTML, CSS, SCSS, Less, JSON, YAML, Markdown, MDX, SQL, Gradle, Shell, PowerShell, R, Scala, TOML, INI, Properties और Dockerfile के लिए TextMate ग्रामर। Gradle, Kotlin का ग्रामर साझा करता है और Properties, INI का, इसलिए कुल 37 अलग ग्रामर हैं। एडिटर .gitignore फ़ाइलों को पहचानता है लेकिन उनके लिए कोई ग्रामर नहीं है, और Makefile सादे टेक्स्ट की तरह खुलती है। उस फ़ाइल की भाषा हाथ से तय करने के लिए स्टेटस बार में भाषा पर टैप करें (हाइलाइटिंग, विश्लेषण और लैंग्वेज सर्वर उसी का पालन करते हैं)।

वन-टैप लैंग्वेज सर्वर

लैंग्वेज सर्वर कम्प्लीशन, errors और go to definition देता है। PocketCode इन्हें मुफ़्त में इंस्टॉल करता है, Language servers शीट से।

  1. 1किसी समर्थित भाषा की फ़ाइल खोलें और स्टेटस बार के LSP आइटम पर टैप करें (डाउनलोड आइकन का मतलब है कि वह इंस्टॉल नहीं है)।
  2. 2Language servers में अपनी फ़ाइल का सर्वर खोजें। शीट बताती है कि वह क्या डाउनलोड करता है, कहाँ से, कितना बड़ा है और उसका लाइसेंस क्या है।
  3. 3Install पर टैप करें। ख़त्म होने पर स्टेटस बार बताता है कि सर्वर तैयार है।
  4. 4बाद में, अगर ऐप ने नया वर्ज़न पिन किया है तो Update दिखता है और Uninstall उसे हटा देता है। शीट कुल को Installed: N servers · ~X on device के रूप में दिखाती है।

हर सर्वर पब्लिक npm रजिस्ट्री (registry.npmjs.org) के JavaScript पैकेज का एक सेट है, जो ऐप के अंदर एक सटीक वर्ज़न और SHA-512 चेकसम पर पिन किया गया है। इसमें कोई PocketCode सर्वर शामिल नहीं है, और नेटिव कोड वाला पैकेज अस्वीकार कर दिया जाता है। वे PocketCode के साथ आए Node.js पर, ऐप के निजी स्टोरेज से चलते हैं। प्रोजेक्ट के अपने node_modules में मौजूद सर्वर को हमेशा प्राथमिकता मिलती है।

सर्वरपैकेज · वह क्या चलाता हैडाउनलोड · डिवाइस पर
TypeScript / JavaScripttypescript-language-server 6.0.1 + TypeScript 6.0.3 · TypeScript, TSX, JavaScript5.0 MB · 26.8 MB
PythonPyright 1.1.414 · Python4.2 MB · 19.5 MB
HTML / CSS / JSONvscode-langservers-extracted 4.10.0 · HTML, CSS, SCSS, Less, JSON13.7 MB · 80.5 MB
Markdownvscode-markdown-languageserver 0.5.0 · Markdown1.7 MB · 8.0 MB
Dockerfiledockerfile-language-server-nodejs 0.15.0 · Dockerfile0.4 MB · 2.5 MB
Bash / Shellbash-language-server 5.8.1, ShellCheck के बिना · Shell3.8 MB · 21.8 MB
YAMLyaml-language-server 1.24.0 · YAML4.2 MB · 19.2 MB
Vue@vue/language-server 3.3.11 · Vue (TypeScript सर्वर भी इंस्टॉल करता है)4.0 MB · 23.6 MB
Sveltesvelte-language-server 0.18.4 · Svelte (TypeScript सर्वर चाहिए)5.5 MB · 27.7 MB
Astro@astrojs/language-server 2.17.1 · Astro (TypeScript सर्वर चाहिए)7.2 MB · 38.0 MB
GraphQLgraphql-language-service-cli 3.5.0 · GraphQL, सिर्फ़ graphql-config फ़ाइल के साथ19.5 MB · 96.6 MB
MDX@mdx-js/language-server 0.6.4 · MDX (TypeScript सर्वर चाहिए)2.4 MB · 10.6 MB
Prisma@prisma/language-server 31.12.10 · Prisma6.7 MB · 36.6 MB
Emmet (helper)@olrtg/emmet-language-server 2.8.0 · HTML, CSS, SCSS, Less5.5 MB · 15.1 MB
CSS variables (helper)css-variables-language-server 2.8.4 · CSS, SCSS, Less4.5 MB · 20.0 MB
CSS Modules (helper)cssmodules-language-server 1.5.2 · *.module.css वाले JavaScript और TypeScript0.7 MB · 3.9 MB
SCSS (Some Sass) (helper)some-sass-language-server 2.3.8 · SCSS0.6 MB · 2.8 MB
Stylelint (helper)stylelint-lsp 2.0.1 + stylelint 15.11 · CSS, जब प्रोजेक्ट Stylelint कॉन्फ़िगर करे और उसके node_modules में वह हो2.5 MB · 10.6 MB
UnoCSS (helper)unocss-language-server 0.1.9 · uno.config.* फ़ाइल वाले प्रोजेक्ट2.4 MB · 9.9 MB
Docker Compose (helper)@microsoft/compose-language-service 1.0.0 · Compose YAML0.4 MB · 2.2 MB
GitHub Actions (helper)@actions/languageserver 0.3.61 · .github/workflows/*.yml0.3 MB · 2.0 MB
Angular (helper)@angular/language-server 22.2.0 · angular.json वाले प्रोजेक्ट में HTML और *.component.ts (TypeScript सर्वर चाहिए)5.0 MB · 28.4 MB

यानी 22 पैकेज: 13 मुख्य सर्वर और 9 helper। सभी इंस्टॉल करने पर लगभग 100 MB डाउनलोड होता है और डिवाइस पर 506 MB लगता है। जिन 19 भाषाओं के लिए वन-टैप सर्वर है वे हैं TypeScript, TSX, JavaScript, Python, HTML, CSS, SCSS, Less, JSON, YAML, Shell, Vue, Svelte, Astro, GraphQL, Prisma, MDX, Markdown और Dockerfile।

जानने लायक़

  • Helper मुख्य सर्वर के साथ चलते हैं, एक बार में 2 तक: हर एक एक और Node प्रोसेस है, इसलिए एडिटर उन पर सीमा लगाता है।
  • YAML कभी रिमोट schema लोड नहीं करता; PocketCode उन्हें डाउनलोड नहीं करता।
  • GraphQL प्रोजेक्ट रूट में graphql-config फ़ाइल के बिना शुरू नहीं होता।
  • Tailwind CSS, और intelephense के ज़रिए PHP, तभी काम करते हैं जब प्रोजेक्ट इन्हें अपने node_modules में साथ लाए।
  • सर्वर चलाने के लिए PocketCode के साथ आए Node.js की ज़रूरत होती है, और नेटवर्क सिर्फ़ इंस्टॉल करने के लिए।

आप क्या नहीं कर सकते, और क्यों

  • Go, Rust, C और C++, Lua, Swift या Zig के लिए सर्वर इंस्टॉल करना। इनके सर्वर नेटिव प्रोग्राम हैं, और Google Play ऐप्स को नेटिव कोड डाउनलोड करने की अनुमति नहीं देता।Google Play
  • Java, Kotlin, Ruby या Dart के लिए सर्वर इंस्टॉल करना। उन्हें ऐसा रनटाइम चाहिए जो PocketCode में शामिल नहीं है।Google Play

कोड चलाना

सब कुछ आपके डिवाइस पर चलता है: कोई रिमोट सैंडबॉक्स नहीं है। ऐप 24 रनर रजिस्टर करता है, लेकिन आज 17 चल सकते हैं (14 ऐप के साथ आते हैं, 3 वैकल्पिक डाउनलोड हैं) और वे 16 भाषाओं और फ़ाइल प्रकारों को कवर करते हैं। छह और प्लगइन मैनेजर में coming soon के रूप में सूचीबद्ध हैं।

भाषाकिससे चलता हैस्थिति
JavaScript (.js, .mjs, .cjs, .jsx)Node.js v25.3.0शामिल
TypeScript (.ts, .tsx)वही Node.js, जो टाइप हटा देता है। टाइप चेकिंग नहीं होती और tsc भी नहीं है।शामिल
Python (.py)WebAssembly में कंपाइल किया गया CPythonशामिल
Ruby (.rb)WebAssembly पर Rubyशामिल
PHP (.php)WebAssembly पर PHPशामिल
C (.c)TCC 0.9.27, इन-प्रोसेस। सिर्फ़ .cशामिल
Kotlin (.kt, .kts)डिवाइस पर kotlinc 2.3.21। अगर प्रोजेक्ट ऐसी लाइब्रेरी घोषित करता है जो ऐप के साथ बंडल नहीं है, तो यह एक सरल स्क्रिप्ट मोड पर लौट आता है, जो फ़ेल हो सकता है।शामिल
Java (.java)BeanShell 2.0b6, Java-स्टाइल इंटरप्रेटर, javac नहीं। Experimental और सीमित: annotation processing नहीं है, कुछ reflection अलग व्यवहार करता है, और ज़्यादातर object-oriented कोड नहीं चलता।शामिल, experimental
Shell (.sh, .bash, .zsh)तीनों के लिए Android का /system/bin/sh (toybox)। जो टूल उसमें नहीं आता, वह exit 127 पर ख़त्म होता है।शामिल, सीमित
SQL (.sql)Android का SQLite, हर फ़ाइल नाम के लिए एक स्क्रैच डेटाबेस पर। पहली लाइन -- @reset उसे साफ़ कर देती है। यह Database मॉड्यूल का इंजन नहीं है।शामिल
HTML (.html)यह रेंडर नहीं करता: स्ट्रक्चर जाँचता है, file:// पाथ प्रिंट करता है और Open in DevBrowser देता है, जो पेज को प्रोजेक्ट के local server से खोलता है।शामिल
Markdown (.md, .markdown, .mdx)प्रिव्यू खोलता है।शामिल
JSON (.json)फ़ाइल को validate करता है। कुछ चलाता नहीं।शामिल
Lua (.lua)WebAssembly पर Lua 5.4। एडिटर में Lua हाइलाइटिंग नहीं है: .lua फ़ाइलें सादे टेक्स्ट की तरह खुलती हैं।वैकल्पिक डाउनलोड, 0.59 MB
Go (.go)WebAssembly पर Yaegi 0.16: सिर्फ़ standard library, एक फ़ाइल, go get नहीं, और go.mod वाले प्रोजेक्ट नहीं।वैकल्पिक डाउनलोड, 37.96 MB
Rust (.rs, .rhai)Rhai, Rust-स्टाइल की स्क्रिप्टिंग भाषा। यह rustc नहीं है: एडवांस्ड traits, lifetimes, async या crates नहीं, और पास में Cargo.toml वाली .rs नहीं चलती।वैकल्पिक डाउनलोड, 1.36 MB
Perl, C++, C#, Zig, Dart, Swift—अभी इंस्टॉल नहीं हो सकते

Run पैनल

  • Run (जो experimental चिह्नित है) पर टैप करें या F5 दबाएँ। पैनल स्थिति, कॉन्फ़िगरेशन का नाम और ख़त्म होने पर exit N · Mms बैज दिखाता है।
  • आउटपुट ANSI रंग बनाए रखता है और stdout व stderr में फ़र्क़ करता है। आपके पास Stop, Auto-scroll, Filter output, Copy output और Clear हैं। Node पर JavaScript के लिए Debug है; Git और बाकी पैनल देखें।
  • इनपुट पढ़ने वाले प्रोग्राम को जवाब देने के लिए stdin input… में टाइप करें और Send पर टैप करें।
  • जब कोई रन किसी लाइन पर फ़ेल होता है, तो Go to error (line N) आपको वहीं पहुँचा देता है।
  • पैनल आख़िरी 5,000 लाइनें रखता है और ओवरफ़्लो होने पर सबसे पुराना दसवाँ हिस्सा हटा देता है।

Run with arguments (Ctrl+F5)

  • आर्ग्युमेंट स्पेस से अलग करके टाइप करें; डबल कोट्स ग्रुप करते हैं और बैकस्लैश escape करता है। कोई variable expansion नहीं होता।
  • Recent आपके आख़िरी 20 रन (आर्ग्युमेंट, exit code, समय) रखता है ताकि आप किसी को दोबारा चला सकें।
  • Allow network in WASM engines डिफ़ॉल्ट रूप से बंद है: WebAssembly मॉड्यूल (Python, Ruby, PHP, Lua, Go, Rhai) तब तक नेटवर्क कनेक्शन नहीं खोल सकते जब तक आप इसे चालू न करें। Node, C और शेल पर इसका असर नहीं पड़ता।

टास्क और लॉन्च कॉन्फ़िगरेशन

  • Launch configurations launch.json की तरह काम करते हैं: नाम, रनटाइम, कमांड, आर्ग्युमेंट, वर्किंग डायरेक्टरी, environment variables (KEY=VALUE) और एक pre-launch कमांड। उनमें से एक डिफ़ॉल्ट हो सकता है। वे डिवाइस पर सेव रहते हैं, और New Run Configuration तभी दिखता है जब प्रोजेक्ट डिस्क पर हो।
  • Project tasks वह सब सूचीबद्ध करता है जो एडिटर को मिलता है: package.json स्क्रिप्ट, Makefile टारगेट, Gradle और Cargo.toml।

वैकल्पिक रनटाइम (प्लगइन मैनेजर)

  1. 1Settings खोलें और Compilers and runtimes सेक्शन में, Additional language runtimes पंक्ति पर जाएँ।
  2. 2Plugin manager (हेडर Optional compilers) में Rhai, Lua 5.4 या Go (Yaegi WASI) पर Install टैप करें। Cancel डाउनलोड रोकता है और Uninstall उसे हटाता है। यह स्क्रीन खोलने पर कोई नेटवर्क रिक्वेस्ट नहीं जाती।
  3. 3कनेक्शन न होने पर Install … from a file… आपके पास पहले से मौजूद प्लगइन फ़ाइल इंस्टॉल करता है; उसका SHA-256 भी जाँचा जाता है।

आप क्या नहीं कर सकते, और क्यों

  • Perl, C++, C#, Zig, Dart या Swift चलाना। वे प्लगइन मैनेजर में Coming soon दिखते हैं: ऐप में उन्हें इंस्टॉल करने के लिए ज़रूरी चेकसम शामिल नहीं है।अभी नहीं
  • असली कंपाइलर से Java चलाना: एडिटर पूरा Java रनर रजिस्टर करता है, लेकिन उसका कंपाइलर पैकेज नहीं किया गया है, इसलिए Java BeanShell इंटरप्रेटर पर चलता है।अभी नहीं
  • constructors, instance fields, inheritance या interfaces वाली अपनी classes declare करना: Android पर BeanShell उन्हें JVM bytecode में compile करता है जिसे फ़ोन load नहीं कर सकता ("can't load this type of class file")। Generics, lambdas, enums, records और printf भी नहीं चलते।डिवाइस
  • रिमोट सर्वर पर कोड चलाना: सारा एक्ज़ीक्यूशन लोकल है।जानबूझकर
  • नेटिव कंपाइलर इंस्टॉल करना या Maven लाइब्रेरी जोड़ना। प्लगइन WebAssembly फ़ाइलें हैं जिनका SHA-256 ऐप में पिन है, क्योंकि Google Play नेटिव कोड डाउनलोड करने की अनुमति नहीं देता; Kotlin की लाइब्रेरी सिर्फ़ बंडल वाली तक सीमित हैं (coroutines, serialization और Okio)।Google Play
  • प्रोजेक्ट टास्क के लिए npm, make, gradle या cargo पर भरोसा करना: टास्क सिस्टम शेल से चलते हैं, और Android ये टूल साथ नहीं देता।डिवाइस
  • WebAssembly प्रोग्राम में नेटवर्क एक्सेस पाना, जब तक आप Allow network in WASM engines चालू न करें।जानबूझकर

थीम और फ़ॉन्ट

एडिटर की थीम, फ़ॉन्ट और साइज़ एडिटर के अंदर से सेट नहीं होते: वे Settings में हैं।

इन्हें कहाँ बदलें

  1. 1Settings → Appearance → Editor appearance खोलें। एक लाइव कोड सैंपल दिखाता है कि आपने कौन-सी थीम चुनी है।
  2. 2Themes गैलरी से थीम चुनें (फ़िल्टर All, Dark, Light और Included), एक Font और एक साइज़ (S, M, L या XL)। यही शीट एडिटर का वॉलपेपर और उसकी ओपेसिटी भी सेट करती है।

23 बिल्ट-इन थीम

समूहथीम
डिफ़ॉल्ट: Same as appएडिटर ऐप की लाइट या डार्क थीम का पालन करता है। यह ख़ुद कोई थीम नहीं है, इसीलिए गैलरी 24 themes · 5 included गिनती है: 23 थीम और यह एंट्री, जिसमें यह एंट्री और चार मुफ़्त थीम मिलकर पाँच included हैं।
Free (4)PocketCode Dark, PocketCode Light, VS Code Dark+, GitHub Light।
Pro (19)Monokai, Dracula, Solarized Dark, Nord, One Dark, Night Owl, GitHub Dark, Catppuccin Mocha, Ayu Mirage, Solarized Light, Gruvbox Dark, Gruvbox Light, Tokyo Night, Material Palenight, Synthwave '84, Cobalt2, Horizon, Panda Syntax और Rosé Pine।

फ़ॉन्ट

Default सिस्टम का monospace फ़ॉन्ट है और मुफ़्त है। बाक़ी सात Pro हैं: JetBrains Mono, Fira Code, Source Code Pro, Cascadia Code, Roboto Mono, Ubuntu Mono और Inconsolata। यही पाबंदी टर्मिनल के फ़ॉन्ट पर भी लागू होती है। Font ligatures (डिफ़ॉल्ट रूप से बंद) उन फ़ॉन्ट पर काम करता है जिनमें ये हैं (Fira Code, JetBrains Mono, Cascadia Code), और लाइन स्पेसिंग (1, 1.15, 1.3 या 1.5) उसके बग़ल में Editor · view में है।

My themes (Pro)

  • मेन्यू के View सेक्शन में My themes आपकी थीम सूचीबद्ध करता है: Use, Edit theme, Rename और delete (पुष्टि के साथ)।
  • Import theme… 1 MB तक की .tmTheme (plist) या VS Code थीम .json या .jsonc पढ़ता है। इसके लिए कम से कम बैकग्राउंड और टेक्स्ट के रंग चाहिए।
  • New theme शुरू से बनाता है। Theme editor में लाइव प्रिव्यू, एडिटर के रंग (बैकग्राउंड, टेक्स्ट, कर्सर, सिलेक्शन, मौजूदा लाइन, लाइन नंबर) और 8 token रंग हैं: keywords, strings, comments, functions, numbers, types, operators और annotations।
  • अगर टेक्स्ट और बैकग्राउंड का कंट्रास्ट 4.5:1 (WCAG AA) से कम हो तो चेतावनी मिलती है, और इम्पोर्ट की गई थीम भी यही बताती है: Imported — but text/background contrast is below the recommended minimum (4.5:1)।
  • Free पर यह कमांड Importable themes वॉल दिखाता है (फ़ाइलें इम्पोर्ट करना, लाइव प्रिव्यू वाला बेसिक एडिटर, कंट्रास्ट चेक) और साथ में Upgrade।

आप क्या नहीं कर सकते, और क्यों

  • Free पर 19 Pro थीम, सात Pro फ़ॉन्ट या My themes इस्तेमाल करना: ये Pro वॉल खोलते हैं।Pro
  • 50 से ज़्यादा इम्पोर्ट की गई थीम रखना: 50वीं के बाद एक और सेव करने पर सबसे पुरानी चुपचाप हट जाती है।जानबूझकर
  • 1 MB से बड़ी थीम फ़ाइल इम्पोर्ट करना, या ऐसी फ़ाइल जो .tmTheme या VS Code JSON नहीं है।जानबूझकर
  • अपनी थीम डिवाइसों के बीच साझा करना: वे सिर्फ़ डिवाइस पर सेव रहती हैं।जानबूझकर

प्रिव्यू और स्प्लिट व्यू

प्रिव्यू टॉप बार से या मेन्यू के View सेक्शन से खुलते हैं।

प्रिव्यूआपको क्या मिलता है
Markdown (.md, .markdown, या ऐसी फ़ाइल जिसे आपने Markdown पर सेट किया)टॉप बार में Toggle Markdown Preview। एडिटर का अपना कन्वर्टर JavaScript बंद वाले WebView में हेडिंग, bold, italic और strikethrough, लिस्ट और टास्क लिस्ट, कोट, लिंक, इमेज, बेसिक टेबल और कोड ब्लॉक रेंडर करता है। कोड ब्लॉक सादे बॉक्स हैं, सिंटैक्स रंगों के बिना। MDX का कोई प्रिव्यू नहीं है।
इमेज (.png, .jpg, .gif, .webp, .bmp, .svg)Preview Image: ज़ूम, पैन और एक इन्फ़ो शीट। .ico फ़ाइलें असमर्थित प्रकार मानकर अस्वीकार कर दी जाती हैं।
JSON और YAMLTree View: कुंजी और मान के फ़िल्टर और expand all के साथ एक collapsible ट्री। JSON { या [ से शुरू होना चाहिए, इसलिए कमेंट स्वीकार नहीं होते। YAML को एक न्यूनतम पार्सर पढ़ता है, इसलिए anchors, flow style और जटिल multi-line मान नहीं दिख सकते।
CSV और TSVTable View: डिलिमिटर पहली लाइन से पहचाना जाता है (, ; tab |) और आप उसे बदल सकते हैं। पंक्तियों में खोजें; सबटाइटल में N rows × M cols लिखा होता है।
HTMLRun इसे रेंडर नहीं करता: स्ट्रक्चर जाँचता है और file:// पाथ प्रिंट करता है। टॉप बार का ग्लोब बटन और Run पैनल का Open in DevBrowser chip फ़ाइल को बिल्ट-इन DevBrowser में, प्रोजेक्ट के local server से, खोलते हैं।
स्प्लिट व्यू (Ctrl+\)Toggle Split Editor दूसरा पैन दिखाता है: एक रीड-ओनली व्यूअर जो इसी फ़ाइल को या किसी और फ़ाइल को दिखाता है, लाइन नंबर और टैप करके कूदने के साथ। यह दूसरा एडिटर नहीं है। Open in split टैब मेन्यू में है।

सिंबल बार और टच

कीबोर्ड के ऊपर की पंक्ति फ़ोन के लिए बनी है।

आप क्या कर सकते हैं

  • हर भाषा के लिए अलग प्रोफ़ाइल इस्तेमाल करना। 41 भाषा मोड में से हर एक की अपनी सिंबल कुंजियाँ हैं, साथ में Tab और ↑ ↓ तीर।
  • इसे अपने हिसाब से बनाना। More actions (⋯) → Customize keys… से आप कुंजियाँ जोड़, हटा और उनका क्रम बदल सकते हैं। जो अतिरिक्त एक्शन जोड़ सकते हैं: Tab, ← ↑ ↓ →, लाइन ऊपर या नीचे ले जाना, comment, block comment, लाइन duplicate, go to line, लाइनें sort करना और UPPERCASE या lowercase। हर भाषा अपनी प्रोफ़ाइल रखती है, और Restore defaults फ़ैक्टरी वाली वापस ले आता है।
  • कमांड कुंजी इस्तेमाल करना, जो बाएँ सिरे पर है। इस पर टैप करने से पैलेट All मोड में खुलता है (Open commands and files)। कर्सर को सटीक चलाने के लिए इसे खींचें, या सेलेक्ट करने के लिए दबाकर रखें और फिर खींचें। Cursor pad को ⋯ मेन्यू में बंद किया जा सकता है।
  • Undo और redo दाएँ सिरे पर हैं, ⋯ मेन्यू के बग़ल में, जिसमें लाइन move, duplicate, comment, block comment, go to line, sort और केस हैं।
  • करके सीखना। पहली बार इस्तेमाल के पाँच हिंट (कमांड कुंजी, पैलेट प्रीफ़िक्स, मल्टी-कर्सर, zen और एक्सप्लोरर तीर) एक बार दिखते हैं, एक सत्र में ज़्यादा से ज़्यादा एक। Settings में Reset editor hints उन्हें वापस ले आता है।

आप क्या नहीं कर सकते, और क्यों

  • सिंबल बार की प्रोफ़ाइल डिवाइसों के बीच सिंक करना: वे डिवाइस की लोकल प्रेफ़रेंस में रहती हैं।जानबूझकर
  • zen mode में बार देखना, जब तक कीबोर्ड खुला न हो।जानबूझकर

स्निपेट

Edit सेक्शन में Snippets Library के दो टैब हैं: Local और Showcase।

आप क्या कर सकते हैं

  • 17 भाषाओं के 78 बिल्ट-इन स्निपेट इस्तेमाल करना (Kotlin 10, JavaScript 10, Python 8, Java 5, Rust 5, TypeScript 4, HTML 4, CSS 4, Go 4, Swift 4, SQL 4, Shell 4, Dart 4, C 2, C++ 2, Ruby 2, PHP 2)। वे फ़ाइल की भाषा से फ़िल्टर होते हैं, उनमें सर्च है और Tab से $1…$0 फ़ील्ड के बीच जाया जाता है।
  • अपने स्निपेट बनाना और एडिट करना, Add snippet से: नाम, ट्रिगर प्रीफ़िक्स, वैकल्पिक विवरण और बॉडी।
  • इम्पोर्ट और एक्सपोर्ट JSON टेक्स्ट के रूप में: आप उसे पेस्ट या कॉपी करते हैं, कोई फ़ाइल नहीं होती। इम्पोर्ट भी Free के 5 कस्टम स्निपेट की उसी सीमा को मानता है: जितने समा जाएँ वे जुड़ जाते हैं और अगर कोई बाहर रह जाए तो सीमा की सूचना दिखती है।
  • Showcase ब्राउज़ करना, जो PocketCode Marketplace से चुनी हुई सूची है, डिवाइस पर कैश रहती है इसलिए एक बार डाउनलोड होने के बाद ऑफ़लाइन भी काम करती है। यह असली लेखक, डाउनलोड और रेटिंग दिखाती है। इंस्टॉल करने के लिए साइन इन करना ज़रूरी है (ब्राउज़ करने के लिए नहीं) और यह सामान्य Marketplace इंस्टॉल से होकर गुज़रता है; जो आप इंस्टॉल करते हैं वह Local में चला जाता है।

आप क्या नहीं कर सकते, और क्यों

  • Free पर छठा कस्टम स्निपेट बनाना, इंस्टॉल करना या इम्पोर्ट करना: Your plan allows 5 custom snippets. Delete one or upgrade to Pro to install more.Pro
  • Free पर Pro चिह्नित Showcase स्निपेट इंस्टॉल करना: This snippet is part of Pro.Pro
  • स्निपेट डिवाइसों के बीच सिंक करना: वे डिवाइस की लोकल प्रेफ़रेंस में रहते हैं।जानबूझकर

नोट्स, टाइमर, TODO और यूटिलिटी

मेन्यू के Tools सेक्शन में छोटे पैनल। ये एडिटर के ऊपर शीट के रूप में खुलते हैं।

Scratchpad

पूरे ऐप के लिए एक नोट, हर प्रोजेक्ट के लिए एक नहीं। यह Save से और पैनल बंद करते समय सेव होता है, अक्षरों की गिनती दिखाता है और साफ़ किया जा सकता है। यह डिवाइस पर सेव रहता है।

Pomodoro Timer

25 मिनट Focus, 5 मिनट Short Break, और चार focus राउंड के बाद 15 मिनट का Long Break। Start, Pause, Reset और Skip; यह पूरे हुए राउंड गिनता है और फ़ेज़ ख़त्म होने पर बीप करता है। टाइमर पैनल का हिस्सा है: PocketCode कोई सर्विस नहीं चलाता और कोई नोटिफ़िकेशन नहीं भेजता, इसलिए पैनल खुला रखें।

TODO Panel

पूरे प्रोजेक्ट में कमेंट (//, #, /*, <!--, --, %, ;) के अंदर TODO, FIXME, HACK, NOTE, BUG, XXX और WARN स्कैन करता है। प्रकार से फ़िल्टर करें, फ़ाइल के हिसाब से ग्रुप करें या सपाट सूची इस्तेमाल करें, और कूदने के लिए टैप करें। यह कोड और टेक्स्ट एक्सटेंशन की तय सूची पढ़ता है और 512,000 बाइट या उससे बड़ी फ़ाइलें, तथा छिपे और build फ़ोल्डर छोड़ देता है।

Dev Utilities

ग्यारह ऑन-डिवाइस टूल: JSON / XML Formatter, Base64 Encode / Decode, URL Encode / Decode, UUID Generator, Hash Generator (MD5, SHA-1, SHA-256, SHA-512), Timestamp Converter, Color Converter, Lorem Ipsum Generator, Regex Tester, JWT Decoder और Diff। ये आपके सिलेक्शन पर काम करते हैं या, अगर कोई नहीं है, तो क्लिपबोर्ड पर। नतीजे में Copy, Insert या Replace selection होता है।

Keyboard Shortcuts

असली कमांड से बनी एक सर्चेबल सूची (Ctrl+Shift+/), आपके कीमैप की कुंजियों के साथ।

What's New

Changelog, सबटाइटल Changelog & updates के नीचे।

एडिटर का एक्सप्लोरर

एडिटर का अपना एक्सप्लोरर है, जो pager का File Explorer पेज नहीं है। यह VS Code-स्टाइल पैनल है: फ़ोन पर ड्रॉअर और 840 dp या उससे चौड़ी स्क्रीन पर बाईं ओर डॉक। इसे Explorer (Ctrl+Shift+E), टैब स्ट्रिप के ▾ से, या टैबलेट पर उसी कमांड से दिखाने/छिपाने के लिए खोलें।

आप क्या कर सकते हैं

  • टैब बदलना। Open सेक्शन खुले टैब सूचीबद्ध करता है, Save all और Close all के साथ।
  • प्रोजेक्ट ट्री ब्राउज़ करना, जो फ़ोल्डर-दर-फ़ोल्डर लोड होता है। पहले फ़ोल्डर आते हैं, फिर केस की परवाह किए बिना नाम। .git और .pocketcode कभी सूचीबद्ध नहीं होते; अनदेखी की गई एंट्री (.gitignore या build और dependency फ़ोल्डर से) धुँधली लेकिन दिखती हैं।
  • बनाना। New file और New folder; नाम में / डालने पर सब-फ़ोल्डर भी बनते हैं।
  • नाम बदलना, डिलीट करना और कॉपी करना। Rename, Delete (पहले पूछता है: The file is deleted from the device. Its local history is kept., और बदलाव वाले खुले टैब के बारे में चेतावनी देता है), Copy path और Copy relative path।
  • रास्ता खोजना। Refresh, Collapse all, Show the active file और Filter by name, जो Quick Open के इंडेक्स का इस्तेमाल करता है।
  • Git की स्थिति देखना। मार्क M modified, A added, U untracked, D deleted और R renamed, उन फ़ोल्डर पर एक बिंदु जो Contains changes दिखाते हैं, और नीचे एक फ़ुटर जिसमें ब्रांच, push या pull के लिए कमिट और बदलावों की संख्या होती है।
  • डॉक किए पैनल का आकार बदलना उसके किनारे को खींचकर: कम से कम 200 dp और ज़्यादा से ज़्यादा विंडो का 45 %। चौड़ाई याद रखी जाती है।

आप क्या नहीं कर सकते, और क्यों

  • यहाँ फ़ाइलें copy, cut, paste, duplicate या multi-select करना। ये File Explorer पेज के हैं।जानबूझकर
  • सॉर्ट क्रम चुनना या dotfiles छिपाना: क्रम तय है और सिर्फ़ .git और .pocketcode छिपाए जाते हैं।जानबूझकर
  • conflict या ignored मार्क को अपने अक्षर के साथ देखना: मार्क पाँच ही हैं, और ignored एंट्री धुँधली दिखती हैं।जानबूझकर
  • कोई प्रोजेक्ट खुला न हो तब फ़ाइलें ब्राउज़ करना: आपको सिर्फ़ टैब और एक संदेश मिलता है (No project is open. Open one to see its files here.)।जानबूझकर
The File Explorer page of the pager on a tablet showing the TaskCLI project with 3 folders and 4 files and the icon rail on the left
pager का File Explorer पेज, एडिटर का एक्सप्लोरर नहीं: यह एक अलग ट्री है जिसका अपना मेन्यू है।

ये टूल इसी मेन्यू से खुलते हैं लेकिन इनके अपने पेज हैं।

क्याकहाँ बताया गया है
Source Control (हर commit, push, pull, merge और stash के बाद message दिखाता है, और merge conflicts हल करता है), GitHub PRs & Issues, blame, फ़ाइल हिस्ट्री, ब्रांच की तुलना, rebase, cherry-pick, hunk के हिसाब से stage, Local History… और Compare with…Git और GitHub
Debug, Test Explorer, Docker Tools, Monitoring, Dependencies, Backend Generators, AI Generators और AI कोड एक्शन, Live Collaboration, Problems और Outlineएडिटर टूल
AI में आपका सिलेक्शन: Ask AI About Selection (Ctrl+I), explain, tests, docs, refactorये आपके कॉन्फ़िगर किए प्रोवाइडर इस्तेमाल करते हैं और पहले आपकी सहमति माँगते हैं। Apply सिर्फ़ भेजा गया कोड (function या selection) बदलता है, और बीच में कोड बदल गया हो तो चेतावनी देता है; Copy नतीजे को क्लिपबोर्ड पर कॉपी करता है। एडिटर टूल देखें।

Free और Pro

एडिटर में लगभग सब कुछ Free और Pro पर एक जैसा है। फ़र्क़, ऐप की प्लान तालिका के अनुसार:

फ़ीचरFreePro
एडिटिंग, टैब, सर्च, नेविगेशन, प्रिव्यू, एक्सप्लोरर, बिल्ट-इन स्निपेट, scratchpad, TODO, Dev Utilitiesशामिलशामिल
हाइलाइटिंग (39 भाषाएँ) और लैंग्वेज सर्वर (22 पैकेज)शामिलशामिल
कोड चलाना (17 रनर) और वैकल्पिक रनटाइमशामिलशामिल
Git, लोकल हिस्ट्री और अपनी key के साथ AIशामिलशामिल
एडिटर थीम4 थीम और Same as app (डिफ़ॉल्ट)सभी 23 थीम
My themes: .tmTheme और VS Code JSON इम्पोर्ट करना, कंट्रास्ट चेक के साथ बनाना और एडिट करनानहींहाँ
एडिटर और टर्मिनल के फ़ॉन्टDefault (सिस्टम monospace)Default और 7 और
कस्टम स्निपेट5प्लान की कोई सीमा नहीं
Pro चिह्नित Showcase स्निपेटनहींहाँ
अगर Pro प्लान ख़त्म हो जाए, तो एडिटर की Pro थीम (बिल्ट-इन या इम्पोर्ट की हुई) वापस Same as app पर आ जाती है, और मुफ़्त PocketCode Dark व PocketCode Light भी (सिर्फ़ Same as app, VS Code Dark+ और GitHub Light बचते हैं); एडिटर में Default के अलावा कोई भी फ़ॉन्ट वापस Default पर; एडिटर में बाक़ी कुछ नहीं बदलता, और टर्मिनल का फ़ॉन्ट और थीम रीसेट नहीं होते। पूरे ऐप की प्लान तालिका यहाँ है: प्लान और मूल्य

कीबोर्ड शॉर्टकट

ये कुंजियाँ सिर्फ़ फ़िज़िकल कीबोर्ड के साथ काम करती हैं (Ctrl, या Cmd जहाँ कीबोर्ड में हो)। फ़ोन पर कमांड कुंजी, मेन्यू या पैलेट इस्तेमाल करें। Ctrl+P और Ctrl+Shift+P उस कीमैप का पालन करते हैं जो आप Settings में चुनते हैं; बाक़ी वही कुंजियाँ हैं जो नीचे दी गई हैं।

कुंजियाँएक्शन
Ctrl+P · Ctrl+Shift+PQuick Open · Command Palette
Ctrl+S · Ctrl+Shift+S · Ctrl+Alt+SSave · Save as… · Save all
Ctrl+Z · Ctrl+Shift+Z (या Ctrl+Y)Undo · Redo
Ctrl+F · Ctrl+H · Ctrl+Shift+FFind · Find and Replace · Search in Files
Ctrl+G · F12 · Alt+F12 · Shift+F12Go to line · Definition · Peek · References
F2 · Ctrl+. · Ctrl+Shift+ORename Symbol · Quick Fixes · Organize Imports
Ctrl+Shift+LAdd Cursors to All Occurrences
Ctrl+D · Ctrl+Shift+K · Ctrl+/Duplicate line · Delete line · Toggle comment
Ctrl+Shift+↑ · Ctrl+Shift+↓Move line up · Move line down
Ctrl+] · Ctrl+[Indent selection · Unindent selection
Shift+Alt+FFormat Document
Ctrl+Shift+E · Ctrl+\ · F11Explorer · Split editor · Zen mode
Ctrl+Tab · Ctrl+Shift+Tab · Ctrl+W · Ctrl+Shift+TNext tab · Previous tab · Close tab · Reopen closed tab
Ctrl+Alt+MChange language mode…
Ctrl+Alt+K · Ctrl+Alt+L · Ctrl+Alt+JToggle · next · previous bookmark
F8 · Shift+F8 · Ctrl+Shift+MNext problem · Previous problem · Problems
F5 · Ctrl+F5 · Shift+F5Run File · Run with Arguments… · Debug File
Ctrl+I · Ctrl+Shift+GAsk AI About Selection · Source Control
Ctrl+Shift+/ · Ctrl+,Keyboard Shortcuts · Editor Settings

प्राइवेसी और सुरक्षा

  • आपका कोड डिवाइस पर रहता है। एडिटिंग, कोड चलाना, हाइलाइटिंग, प्रिव्यू और छोटे टूल के लिए कनेक्शन नहीं चाहिए। सिर्फ़ लैंग्वेज सर्वर, प्लगइन और Showcase स्निपेट इंस्टॉल करने के लिए चाहिए।
  • जो डाउनलोड होता है वह पिन किया हुआ है। लैंग्वेज सर्वर पब्लिक npm रजिस्ट्री (registry.npmjs.org) से आते हैं और प्लगइन पब्लिक GitHub रिपॉज़िटरी Pocket-Code-App/pocketcode-plugins से। बीच में PocketCode का कोई सर्वर नहीं चलता। हर फ़ाइल को ऐप के अंदर तय चेकसम (सर्वर के लिए SHA-512, प्लगइन के लिए SHA-256) से मिलाया जाता है और मेल न खाने पर अस्वीकार कर दिया जाता है।
  • चलाना लोकल है। कोई रिमोट सैंडबॉक्स नहीं है, और WebAssembly प्रोग्राम के पास तब तक नेटवर्क नहीं होता जब तक आप Allow network in WASM engines चालू न करें।
  • आपके नोट और एडिटर डेटा डिवाइस पर रहते हैं। scratchpad, कस्टम स्निपेट, सिंबल बार प्रोफ़ाइल, रन हिस्ट्री, लॉन्च कॉन्फ़िगरेशन, इम्पोर्ट की गई थीम और हर फ़ाइल की भाषा का चुनाव ऐप की लोकल प्रेफ़रेंस में रहते हैं और डिवाइसों के बीच सिंक नहीं होते।
  • दूसरे ऐप की फ़ाइलें Android के फ़ाइल पिकर से खुलती हैं, बिना स्टोरेज परमिशन के: PocketCode को सिर्फ़ वही फ़ाइल मिलती है जो आप चुनते या शेयर करते हैं।
  • AI एक्शन पहले पूछते हैं। वे आपके चुने हुए कोड को आपके कॉन्फ़िगर किए प्रोवाइडर को, आपकी अपनी key के साथ भेजते हैं, और कुछ भी भेजने से पहले हर प्रोवाइडर आपकी सहमति माँगता है।

सीमाएँ

आज एडिटर क्या नहीं कर सकता, और क्यों। ऊपर के सेक्शन हर टूल की और जानकारी देते हैं।

  • कोड फ़ोल्डिंग नहीं है: एडिटर इंजन में यह नहीं है।थर्ड पार्टी
  • एडिटर सिर्फ़ UTF-8 पढ़ता और लिखता है; एन्कोडिंग पिकर सिर्फ़ एक लेबल बदलता है।अभी नहीं
  • हर सेव हर लाइन के अंत के स्पेस हटा देता है, और .editorconfig इसे बंद नहीं कर सकता।जानबूझकर
  • 512 KB या उससे बड़ी, 10,000 या ज़्यादा लाइनों की, या 2,000 या ज़्यादा अक्षरों की लाइन वाली फ़ाइलें लाइट मोड में खुलती हैं; 20 MB या उससे बड़ी रीड-ओनली हैं; 80 MB या उससे बड़ी खुलती नहीं। ये सीमाएँ ट्यूनिंग हैं, गारंटी नहीं।डिवाइस
  • 20 टैब सॉफ़्ट सीमा है, और सिर्फ़ 4, 6 या 10 अपना टेक्स्ट मेमोरी में रखते हैं।डिवाइस
  • Search in Files replace नहीं कर सकता, कोई हिस्ट्री नहीं रखता, 500 रिज़ल्ट पर रुक जाता है और 512 KB या उससे बड़ी फ़ाइलें छोड़ देता है।अभी नहीं
  • Go, Rust, C और C++, Lua, Swift या Zig के लिए वन-टैप लैंग्वेज सर्वर नहीं है (ये नेटिव प्रोग्राम हैं), और Java, Kotlin, Ruby या Dart के लिए भी नहीं (उन्हें ऐसा रनटाइम चाहिए जो PocketCode में शामिल नहीं है)।Google Play
  • Perl, C++, C#, Zig, Dart और Swift चल नहीं सकते: उनके प्लगइन coming soon के रूप में सूचीबद्ध हैं।अभी नहीं
  • Java BeanShell इंटरप्रेटर पर चलता है, कंपाइलर पर नहीं।अभी नहीं
  • TypeScript टाइप हटाकर चलता है, टाइप चेकिंग के बिना; Rust, Rhai स्क्रिप्टिंग के रूप में चलता है; Go go.mod के बिना standard library की एक फ़ाइल चलाता है।जानबूझकर
  • प्रोजेक्ट टास्क के लिए फ़ोन पर npm, make, gradle या cargo चाहिए, जो Android साथ नहीं देता।डिवाइस
  • Markdown प्रिव्यू कोड ब्लॉक को रंग नहीं देता, और Run HTML को रेंडर नहीं करता।अभी नहीं
  • Auto Import सिर्फ़ छह भाषाओं के जाने-माने सिंबल की एक तालिका जानता है, और Emmet एक सबसेट है।अभी नहीं
  • Pro थीम, Pro फ़ॉन्ट, My themes, 5 से ज़्यादा कस्टम स्निपेट और Pro Showcase स्निपेट के लिए Pro चाहिए।Pro
  • इम्पोर्ट की गई थीम की सीमा 50 है (सबसे पुरानी बिना चेतावनी के हट जाती है) और हर एक 1 MB तक।जानबूझकर
  • Quick Open 50,000 फ़ाइलों तक इंडेक्स करता है और 50 रिज़ल्ट दिखाता है।जानबूझकर

समस्या निवारण

Light mode (…): no highlighting, minimap, LSP or AI suggestions

फ़ाइल 512 KB या उससे बड़ी है, उसमें 10,000 या ज़्यादा लाइनें हैं, या 2,000 या ज़्यादा अक्षरों की कोई लाइन है (minified कोड में आम)। आप अब भी एडिट कर सकते हैं। हाइलाइटिंग वापस लाने के लिए Enable highlighting anyway पर टैप करें, गति की क़ीमत पर।

Too large to open here (…)

फ़ाइल 80 MB या उससे बड़ी है। सिर्फ़ Open with another app मिलता है। 20 MB से फ़ाइल Read-only खुलती है।

… is a binary file

पहले 8 KB में NUL बाइट है या बहुत ज़्यादा नॉन-टेक्स्ट बाइट हैं। View image इमेज दिखाता है; Open as text (read-only) कच्चे बाइट को टेक्स्ट के रूप में दिखाता है।

Changed on disk while you have unsaved edits.

आपके एडिट शुरू करने के बाद फ़ाइल डिस्क पर बदल गई। Compare अंतर दिखाता है, Reload आपके एडिट हटा देता है और Keep mine उन्हें रखता है।

Could not save

Your changes are still in the editor. इसके बाद का संदेश कारण बताता है, जैसे कोई परमिशन न होना। उसे ठीक करें और Save file पर फिर टैप करें; जब तक त्रुटि बनी है, बटन पर Retry save, error saving लिखा होता है।

N tabs are open and none can be closed without losing changes. Save or close some.

एडिटर 20 टैब तक रखता है और जगह बनाने के लिए सबसे कम हाल में इस्तेमाल हुआ बिना बदलाव वाला टैब बंद करता है, लेकिन हर टैब में बदलाव हैं या वह पिन है। उसने आपकी फ़ाइल फिर भी सीमा से ऊपर खोल दी। कुछ टैब सेव करें या बंद करें।

Closed … (limit of 20 tabs)

21वाँ टैब खोलने पर सबसे कम हाल में इस्तेमाल हुआ वह टैब बंद हो गया जिसमें अनसेव्ड बदलाव नहीं थे। संदेश में Undo है।

The file is not UTF-8 text; it was not opened so it cannot be damaged.

दूसरे ऐप की फ़ाइलें और Open file from device… वैध UTF-8 होनी चाहिए। PocketCode बाक़ी सब कुछ अस्वीकार कर देता है, ऐसे बाइट को दोबारा लिखने के बजाय जिन्हें वह समझता नहीं। फ़ाइल को पहले कहीं और UTF-8 में बदल लें।

The file is too large to open (limit 20 MB).

Android के पिकर से खोली गई, आपके प्रोजेक्ट के बाहर की फ़ाइलें 20 MB तक सीमित हैं। प्रोजेक्ट के अंदर की फ़ाइलें बड़ी फ़ाइलें, एन्कोडिंग और सेव करना के साइज़ मोड का पालन करती हैं।

This file is read-only: the app that shared it did not allow changes. Use “Save as…” to keep your changes in a new file.

आप अब भी टैब एडिट कर सकते हैं। नतीजा ऐसी जगह लिखने के लिए जहाँ लिखा जा सके, Save as… (Ctrl+Shift+S) इस्तेमाल करें।

Couldn't reach the npm registry. Check your connection and retry.

लैंग्वेज सर्वर registry.npmjs.org से इंस्टॉल होते हैं। ऐसे कनेक्शन पर दोबारा कोशिश करें जो उस तक पहुँचता हो। अगर The npm registry refused the download. Retry later. लिखा आए, तो रजिस्ट्री ने त्रुटि के साथ जवाब दिया।

The download didn't match the expected checksum and was discarded.

फ़ाइल ऐप में पिन किए SHA-512 से मेल नहीं खाई, इसलिए कुछ इंस्टॉल नहीं हुआ। दोबारा कोशिश करें, बेहतर होगा किसी दूसरे कनेक्शन पर।

A package contained native code and was not installed.

इंस्टॉलर जानबूझकर नेटिव कोड और असुरक्षित पैकेज कंटेंट अस्वीकार करता है (A package had unsafe contents and was not installed.): PocketCode इसी तरह Google Play के नियमों का पालन करता है।

Not enough free space on the device.

एक सर्वर को डिवाइस पर लगभग 97 MB तक चाहिए (GraphQL), और सभी 22 को मिलाकर लगभग 506 MB। कुछ जगह ख़ाली करें या जो सर्वर आप इस्तेमाल नहीं करते उन्हें अनइंस्टॉल करें।

Node.js isn't available on this device, so language servers can't run.

सर्वर PocketCode के साथ आए Node.js पर चलते हैं, इसलिए कोई भी शुरू नहीं हो सकता। हाइलाइटिंग और एडिटर की अपनी जाँचें चलती रहती हैं।

The language server stopped with an error.

कौन-सा सर्वर है यह देखने के लिए Language servers खोलें और उसे दोबारा इंस्टॉल या अपडेट करें। GraphQL के लिए जाँचें कि प्रोजेक्ट में graphql-config फ़ाइल है।

Go has no one-tap server: gopls is a native program, and Google Play doesn't allow apps to download native code.

यही Rust, C और C++, Lua, Swift और Zig पर भी लागू होता है। Java, Kotlin, Ruby और Dart के लिए संदेश इसके बजाय कहता है कि सर्वर को needs a runtime PocketCode doesn't include। हाइलाइटिंग और एडिटर की बिल्ट-इन जाँचें फिर भी काम करती हैं।

Unrecognized format. Pick a .tmTheme or VS Code JSON theme file.

सिर्फ़ .tmTheme और VS Code .json या .jsonc थीम इम्पोर्ट होती हैं। अगर File is too large for a color theme. लिखा आए तो फ़ाइल 1 MB से बड़ी है, और The file could not be parsed — it looks corrupted or malformed. का मतलब है कि उसे पढ़ा नहीं जा सकता।

The theme is missing required editor colors (background/foreground).

फ़ाइल में बैकग्राउंड या टेक्स्ट का रंग नहीं है। उन्हें फ़ाइल में जोड़ें, या थीम को New theme में बनाएँ।

Imported — but text/background contrast is below the recommended minimum (4.5:1).

थीम इम्पोर्ट हो गई, लेकिन कुछ कोड पढ़ने में मुश्किल हो सकता है। Edit theme खोलें और रंग तब तक बदलें जब तक चेतावनी न हट जाए।

Your plan allows 5 custom snippets. Delete one or upgrade to Pro to install more.

Free में 5 कस्टम स्निपेट की सीमा है। एक डिलीट करें, या Pro पर जाएँ। अगर No connection, and the snippets haven't been downloaded yet दिखे, तो Showcase को एक बार ऑनलाइन खोलें: उसके बाद वह ऑफ़लाइन भी चलता है। Sign in to install Marketplace snippets का मतलब है कि इंस्टॉल करने के लिए अकाउंट चाहिए, ब्राउज़ करने के लिए नहीं।

That name is not valid · A file or folder with that name already exists · That path is outside the project

ये नया बनाते या नाम बदलते समय एक्सप्लोरर की जाँचें हैं। ऐसा नाम इस्तेमाल करें जिसमें वर्जित अक्षर न हों, जो पहले से न लिया गया हो, और ऐसा पाथ जो प्रोजेक्ट के अंदर रहे।

Run बटन ग्रे है

फ़ाइल के लिए अभी कोई ऐसा रनर नहीं है जो उसे चला सके: वह बिना रनर वाला प्रकार है, ऐसा रनटाइम है जो आपने इंस्टॉल नहीं किया (Lua, Go, Rhai), या उन छह में से एक है जो अभी इंस्टॉल नहीं हो सकते। साथ ही, Run Markdown फ़ाइलों या On device टैब पर नहीं दिखता। कोड चलाना देखें।