Skip to content
Home
Docs/Code Editor

Code Editor

Free

A full-screen editor designed for the phone first: compact tabs, a VS Code-style explorer, a command palette at the top, zero-config language servers and 24 runners that execute code on the device. Everything below is free except the premium themes: 3 themes are free, the other 19 and importing your own are Pro.

Editing engine

Built on the open-source Sora Editor. Edits are applied by minimal ranges, so a programmatic change never copies the whole document.

  • •Real-time TextMate highlighting on the Sora editor engine, with a first paint that doesn't wait for the full tokenizer
  • •Multi-cursor on every occurrence of a word (Ctrl+Shift+L or the menu), and it works with the on-screen keyboard, not only with a physical one
  • •200 undo steps per tab, shared by Ctrl+Z and the menu
  • •Structure outline and breadcrumb (no code folding yet), indent guides, sticky scroll, pinch-to-zoom and a magnifier on long-press
  • •Large files open safely: from 512 KB a light mode turns off the heavy features, from 20 MB the file is read-only and from 80 MB it isn't loaded, so the app never runs out of memory
  • •Line endings, BOM and .editorconfig are respected on save; the status bar shows the real encoding and line ending of each tab
  • •Open any file from your phone or from another app (Android file picker), and Save As to any location

Tabs, explorer and palette

Always-visible tab strip

Compact browser-style tabs; the active one is marked with an accent underline. Unsaved changes show a dot

Preview tabs

Browsing reuses one italic tab; it becomes permanent when you edit, save or double-tap it (can be turned off)

Drag to reorder, pin, close in bulk

Long-press and drag a tab to move it; pinned tabs stay apart. Close others, to the right, saved or all

Session restore

Tabs, cursor, selection and scroll come back per project; restored tabs load only when you open them

Quick Open and command palette

At the top, VS Code style: Ctrl+P for files across the whole project, Ctrl+Shift+P for commands, @ for symbols and :N to jump to a line

Explorer

A VS Code-style side panel with open files and the project tree: create, rename and delete, Git marks and a filter. On tablets it stays docked and you resize it with your finger

Supported languages

Syntax highlighting for 29 languages via TextMate grammars, detected by extension and by file name (Dockerfile, Makefile, .gitignore…). You can override the language of any file from the status bar.

TypeScript
TSX
JavaScript
Python
Kotlin
Java
Go
Rust
C
C++
C#
PHP
Ruby
Swift
Dart
Scala
R
SQL
Shell / Bash
PowerShell
HTML
CSS
JSON
YAML
XML
Markdown
Dockerfile
TOML
INI

Language servers with zero configuration

Open a file and, if its language server is missing, the LSP item in the status bar offers to install it with one tap: you see what is downloaded, from where, its size and licenses. Servers are JavaScript packages from the public npm registry, pinned to an exact version and checksum inside the app, run by the Node.js bundled with PocketCode, and removable from the same sheet.

TypeScript / JavaScript

typescript-language-server + TypeScript 6

Python

Pyright

HTML · CSS · SCSS · Less · JSON

vscode-langservers-extracted

YAML · Bash

Used when your project ships the server in node_modules

Servers that are native binaries (Go, Rust, C/C++, Lua…) or need a JVM (Java, Kotlin) can't be downloaded under Google Play's rules, so the editor says so instead of failing.

Code intelligence

Go to symbol and outline

Fuzzy search of functions, classes and properties, plus a tappable structure tree

Definition, peek and references

Jump to or peek at a definition and list every reference in the project

Rename symbol

Preview separates code from strings and comments, including multi-line ones

Global search and replace

Text or regex across the project, whole word, preserve case and history

Auto-import and refactors

Suggested imports for undefined symbols; extract method or variable

Compare with…

Diff the current file against the version on disk, HEAD, another tab or the clipboard

Diagnostics and formatting

  • •One Problems panel for every open tab: language-server errors, style rules and markers, deduplicated and filterable by source and severity
  • •Local rules for 10 languages work even without a language server, with one-tap quick fixes
  • •On-device formatting for 24 languages (C-style family, Python, XML/HTML, JSON, CSS/SCSS/Less, YAML, SQL, Markdown) with a configurable profile

Run code on the device

24 runners for 22 languages, all local — there is no remote sandbox. Some come with the app; the rest are optional packs you install once, after which they also work offline.

Included with the app

JavaScript (Node.js)
TypeScript
Shell
C (TCC)
HTML
SQL
JSON
Markdown

Optional packs

Python
Ruby
PHP
Lua
Perl
Go (Yaegi)
Rust
C++ (Clang)
C#
Zig
Dart
Swift
Java
Kotlin

Run panel

Color-coded stdout/stderr, interactive stdin, live filter and jump to the failing line

Launch configurations

launch.json equivalent: command, args, env and working directory, plus run history

Debugging and testing

Node.js debugger

Real debugging over the Chrome DevTools Protocol: tap a line number to set a breakpoint, with optional conditions and logpoints that apply while the program runs; it also pauses on the first line and on uncaught exceptions. Step, call stack, variables, and Hot Reload that restarts the session when you save

Other languages

The debug panel shows a clearly labelled simulation with sample data — never presented as real

Tests

12 frameworks detected automatically (Jest, Mocha, Vitest, pytest, unittest, JUnit, Go, Cargo, PHPUnit, RSpec, Dart, Swift) with a suite tree, watch mode, coverage and snapshots

Git inside the editor

GitHub pull requests, issues and CI

List, filter and open PRs with checks and reviews, create a PR from your branch, merge and close — with the GitHub account you connected

Interactive rebase

Pick, reword, squash, fixup and drop for real, with a backup ref you can restore, abort that truly undoes, and conflict resolution

Blame, history and branches

Blame of the current line in the status bar, blame by blocks, file history, compare branches, cherry-pick and stage by hunk

Local history

Up to 50 saved versions per file on the device, even outside Git; restoring is an undoable edit

AI in the editor

  • •Ghost text: inline suggestions after the cursor, accepted with one tap and fully undoable
  • •Ask about the selection from the selection menu, the AI section of the menu or the palette
  • •Generators: REST APIs, database schemas, code translation between languages, a vulnerability scan (OWASP Top 10 with CWE) and a performance analysis
  • •Commit messages written from your staged diff
  • •It uses the providers you configure in AI Chat with your own key; PocketCode charges nothing for AI

Tools and panels

Every tool opens as a sheet over the editor with the same layout and your app theme. Data is real or shown as “—”, never made up.

Snippets

Built-in and your own, plus the curated catalog of the PocketCode Marketplace, installable from the editor

Monitor

Measured metrics (the app's CPU and memory, battery, network, storage), the app's logs and alert rules you create, edit and delete

Backend generator

Templates for Express, FastAPI, Spring, Django, Gin and more, SQL migrations and OpenAPI in YAML or JSON, saved into your project

Developer utilities

11 on-device tools over the selection or clipboard: JSON, Base64, URL, UUID, hash, timestamp, color, Lorem Ipsum, regex, JWT and diff

Live collaboration

Edit the same file with people on your local network: presence, cursors and comments, with nothing leaving the network. Free

And more

Color picker, Pomodoro, scratchpad, TODO panel and a shortcut reference generated from the real commands

Previews

Markdown

Local render with tables, lists and highlighted code blocks

Images

PNG, JPG, GIF, WebP, BMP and SVG with zoom and pan

JSON / YAML · CSV

Collapsible tree, and a table with automatic delimiter detection

HTML

Live preview of web projects in the built-in browser

Made for touch

  • •A symbol bar above the keyboard with a profile per language that you can customize
  • •Command key: tap for the palette, drag to move the cursor precisely, hold and drag to select
  • •Full Emmet for HTML and CSS (div.cls#id, ul>li*3, m10, df…)
  • •Per-file language: tap the language in the status bar to change how a file is highlighted and which language server it uses
  • •Zen mode with real full screen, and landscape that hides the top bar when the keyboard is open
  • •Accessibility: F6 to move between regions, TalkBack labels, 48 dp touch targets and a chrome that grows with large system fonts
  • •First-use hints that show once and can be reset in Settings
  • •Works offline: editing, running, Git and the installed language servers need no connection

Pro

The 19 premium built-in themes, plus importing .tmTheme or VS Code JSON themes (up to 50) and editing them with a contrast check; 3 themes are free. Everything else on this page — tabs, LSP, runners, Git, local history, collaboration and AI with your own key — is free.