Skip to content

CodeAssist 3.45.0

Latest

Choose a tag to compare

@tyron12233 tyron12233 released this 11 Nov 19:12
· 1 commit to main since this release

LAYOUT DESIGNER (NEW)

  • A design editor for Android XML layouts: open a layout and switch to Design to build the screen visually
  • A palette of widgets, each tile previewing what it adds. Drag one onto the screen to insert it, or long-press a view and drag it into another parent
  • Instant drop feedback: a ghost shows where the view will land, and the layout animates into its new shape
  • A property strip with visual editors for the selected view: text, size, gravity, margin, color and more
  • Any property, or an attribute you add yourself, can also be edited in a dialog, which applies its changes when it closes
  • A color picker that leads with the current value, with library colors folded away
  • A component tree and a compact element list for picking views that are hard to tap
  • Full-screen Design view, and on a phone Split shows the layout itself next to the code, not the designer's chrome
  • On a phone the selection's actions (duplicate, delete, select parent) live in the property strip; on a wide screen the panels dock beside the canvas
  • Zoom and pan settle smoothly, and tapping outside a panel closes it
  • The preview draws the status bar, clock and gesture handle, like a real screen
  • Your own custom views are compiled on demand; one that cannot be shown is replaced by a stand-in instead of breaking the preview
  • A scroll view that already has its child refuses a second one, as Android does

LAYOUT PREVIEW SPEED

  • The first preview of a Material layout on a phone is about ten times faster (40 s down to 4 s on our test layout)
  • An edit shows up about twice as fast, and a view added with a new id no longer forces a slow full relink
  • Previews render faster and lighter overall, and the designer no longer parses the layout on the UI thread

CLAUDE LINK (BETA)

  • Connect Claude to CodeAssist: Claude can read, edit, build and test the project you have open, from the new Connections page in the assistant
  • Claude Code and Claude Desktop connect to the desktop app with one copied command
  • Claude on the web or on a phone connects through a private link: turn on the link, sign in, and add it to Claude as a custom connector
  • The link is a secret: keep it to yourself, and reset it from the same page if it leaks
  • Claude is told how to use CodeAssist, and which tools only read and which ones change things
  • Long tasks keep going: a build or test run that outlasts one request is handed back as a job Claude can check on
  • Screenshots and previews reach Claude as images
  • The status bar shows when Claude is connected and when it is working
  • This is a beta: tell us what breaks

AI ASSISTANT

  • The assistant can now create modules, remove them, make one module depend on another, and reload the project after a module.toml or build script changes. Before, a module it wrote by hand did not appear until the project was reopened
  • It can run your tests and read the result of each test
  • It can add a dependency to a chosen scope, and remove one
  • On Android the assistant keeps working when the app is not on screen, with a notification that says what it is doing and a Stop button
  • A long model name no longer squeezes the chat header's buttons

FASTER ANDROID BUILDS

  • A clean build of a Material app on a phone: about 106 s down to about 32 s
  • Changing a string or a layout and running again: about 15 s down to about 5 s
  • Adding a new resource no longer renumbers the others or rebuilds every library's R
  • An edited resource no longer re-merges and recompiles every library's resources
  • Linking resources against the Android framework is much faster
  • Signing a Run build is faster: the keystore is unlocked once, and the old-style signature is skipped where the device does not need it
  • Projects below minSdk 26 now use the prebuilt libraries too when you Run on your own device
  • 31 more libraries arrive pre-built
  • Library R classes are now made the way Android Studio makes them. Code that read a library's resource through the wrong R gets a quick fix naming the right one

EDITOR

  • Fixed: import org.junit.Assert.* (and any star import of a Java class) left every assertEquals, assertTrue, assertNull... marked Unresolved reference
  • Fixed: assertEquals(1, 2) with JUnit 5 reported an overload ambiguity
  • Fixed: import java.lang.Integer.* did not bring in parseInt, toHexString and the other static methods (same for Long, Boolean, Character, String)
  • Java API that Android does not have is now explained instead of only being marked unresolved
  • Report a false error: when a diagnostic is wrong, you can send it to us from the editor
  • An image drawable referenced from the manifest resolves

TESTS

  • JUnit 4 rules (@Rule, @ClassRule) work in unit tests, including ExpectedException and Hamcrest matchers
  • Tests that fake an interface with a Proxy run
  • A test with a backtick name (`adds two numbers`) no longer fails the build

RUN

  • The run console stays fast with very long output: it only lays out the lines on screen
  • A library class CodeAssist cannot load itself is interpreted instead of failing the run

COMPOSE PREVIEW

  • No longer leaks threads or listeners, and recomposes with far less memory churn
  • Preview errors that happen between frames are now reported instead of silently doing nothing
  • Many animating rows or a large lazy grid are no longer mistaken for a runaway recomposition

FIXES

  • Toggling a setting no longer crashes the app
  • After closing and reopening the app, plugin panels (the layout designer among them) no longer act as if no project is open
  • Dragging a long-pressed view in the designer no longer slides the canvas along with it
  • A status-bar band's label is placed beside a centred camera cutout instead of under it

PLUGINS

  • A plugin can ask for the open files to be analyzed again (plugin API 3.5.0)