Skip to content

CodeAssist 3.9.1

Choose a tag to compare

@tyron12233 tyron12233 released this 04 Aug 16:40

πŸš€ CodeAssist 3.9.1

SYMBOLS & MACROS (new)

  • New Settings β–Έ Symbols & Macros editor for customizing the editor to how you type.
  • Keyboard symbol bar: add, remove, and reorder keys; pin the ones you reach for most; edit the built-in action keys (Tab, line comment, move line up/down, duplicate line); apply presets (Java/Kotlin, XML); and let it suggest symbols from the open file. A live preview shows the bar exactly as you configure it.
  • Live-template macros: type an abbreviation and expand it into a full snippet with tab stops ($1, $2, $END$) and variables that fill in at expansion time: $FILE$, $CLASS$, $EXPR$ (the current expression), $SELECTION$, $LINE$, $DATE$, $TIME$, $USER$, $UUID$, and more. The template editor highlights the tokens and shows a live preview.
  • Editable built-ins: the shipped templates (sout, fori, psvm, main, fun, for, try, and the rest) can now be edited or disabled, not just used as is.
  • Type-scoped macros: limit a macro to a specific type so it only appears after a matching receiver, for example a java.lang.String. Instance macros work postfix (text.abbrev) and are subtype aware; static macros trigger after the type name (String.abbrev).
  • Everything saves per user (global) or per project, so a project can carry its own symbol bar and macros. Any set can be copied out and pasted back as JSON.

AI AGENT

  • Expanded the coding agent's tool set for more capable, multi-step edits.
  • Added OpenRouter as a provider (and removed Antigravity).
  • Local AI providers now work: cleartext HTTP to localhost is permitted, so a model server on your device or LAN connects.

IMPORT & DEPENDENCIES

  • Import an existing Gradle project by picking its folder, on device and on desktop.
  • Dependency downloads now show real byte-level progress instead of an indeterminate spinner.

EDITOR

  • Live templates now advance on Enter and when you accept a completion, not only via Tab.
  • The lightbulb (quick-fix affordance) pops in with a small animation when actions are available.
  • Dialogs stay above the soft keyboard, and there is a new tab overflow menu to jump to any open file when the tabs overflow.
  • A horizontal swipe near the edge no longer gets committed as a tap that pops the keyboard open.
  • Smarter indentation: the editor dedents correctly after a completed expression-body continuation.

CODE ANALYSIS (Java & Kotlin)

  • Flags a bare function name used as a value ("Function invocation expected").
  • Flags calls that only resolve through an unimported extension, and offers to add the import.
  • Flags unimported cross-package Kotlin types as unresolved.
  • Flags an empty property delegate such as by remember { } (a Unit/Nothing delegate).
  • Stops offering a private top-level declaration as an auto-import candidate.
  • Correctly colors a same-file top-level backing-property read.

BUILD & TOOLING

  • App logs are now forwarded to the console when your program runs in the isolated :build process.
  • KSP source generation now fails when a processor logs an error rather than silently continuing.
  • KSP: patches trySetAccessible out of processor jars before on-device dexing, so more processors run on ART.

MONETIZATION

  • Added AdMob mediation (Meta, Pangle, Mintegral) with UMP consent.
  • Native ad main media now renders through a placement-aware MediaView.

STABILITY

  • Fixed a native crash in the Compose preview by closing the ImageReader on the frame thread.
  • The Learn Compose preview no longer crashes on an unresolved helper.

Full changelog: https://github.com/tyron12233/CodeAssist/releases/tag/v3.9.1