Skip to content

Nomain for VS Code

Nomain for VS Code brings Nomain's chat into your editor, so you can ask questions about your code without leaving VS Code. It adds a Nomain panel to the sidebar where you pick one of your Systems and have a conversation about it, just like the web app.

Answers stream in live and can include clickable code references that jump you straight to the right file and line in your open project. Because the extension talks to the same Nomain backend as the web app, a conversation you start in the browser keeps generating and shows up in the editor, and the reverse also holds.

The extension is also growing beyond chat: Nomain Code, a coding agent that proposes edits to your code, is rolling out to selected users.

Nomain for VS Code in action: asking a question and getting an answer with clickable code references.

Requirements

  • VS Code 1.100 or later.
  • A Nomain account with access to at least one System.

Getting started

  1. Install the Nomain extension from the VS Code Marketplace, then click the Nomain icon in the Activity Bar to open the panel.
  2. Set your server URL. On the sign-in screen, click Configure Nomain. An inline Server URL editor opens with a text box, Save, and Cancel. Enter your Nomain address. It must start with http:// or https:// (a bare localhost:4200 with no scheme is rejected). Press Save.
  3. Sign in. Click Sign In (or run Nomain: Sign In from the Command Palette). Your web browser opens to confirm a short sign-in code; once done you see "Signed in to Nomain."
  4. Pick a System from the Select a system dropdown at the top of the panel. The message box stays disabled ("Select a system to ask Nomain") until you choose one.

The Nomain sign-in panel in VS Code, with the Sign In and Configure Nomain buttons.

The inline Server URL editor, opened from Configure Nomain, with Save and Cancel.

Changing the server URL

You can only change the server URL while signed out. The extension will tell you to "sign out to change the server URL."

Chatting in the editor

  • Type your question in the Ask Nomain box and press Enter to send (Cmd/Ctrl+Enter or Shift+Enter inserts a newline).
  • Turn on Deep Insight before sending for a slower, more thorough answer.
  • Add context: click Add Context to search your workspace files and attach one, or highlight code in the editor and press Alt+K (Option+K on Mac) to add that file and selection. Attached items show as removable chips.
  • Jump to code: click any inline code reference in an answer to open that source file at the exact line. If the file isn't in your workspace, you see "File not found in workspace."
  • Start a new chat with the New chat button (you name it and choose its System); revisit past chats with the Chat history button.
  • Stop a generating answer with Esc Esc or the stop button; it shows as Interrupted.

Answers render Markdown and Mermaid diagrams, exactly as in the web app.

The Nomain panel in VS Code answering a question about a COBOL program, with green code references, next to the source file open in the editor.

Nomain Code

Rolling out

Nomain Code is rolling out to selected users first, with wider availability planned in coming releases. When it is enabled for your deployment, it appears in the extension's chat automatically.

Nomain Code grows the chat into a coding agent. Ask for a change and it plans the work, reads the relevant code, and proposes edits grounded in Nomain's knowledge of your analyzed Systems. When it needs deeper answers about how your code fits together, it can consult the Nomain analysis agent.

  • You review every change. Proposed edits go through an edit review where you accept or reject them file by file and hunk by hunk. You get a warning when an edit touches a copybook that is used elsewhere, and if a file changed underneath a pending edit, that edit is not applied.
  • Commands are off by default. Running commands can be turned on, and even then every command needs your explicit approval before it runs.
  • Edits respect your files. Changes are applied with each file's own line endings and follow VS Code's encoding setting for non-UTF-8 sources.
  • Built for long sessions. Long conversations are compacted to fit the model's window, and brief service throttles are retried automatically.
  • Private by design. Model calls are made server-side through your Nomain deployment, never directly from your editor to an AI provider. Agent activity is audit-logged in the same event format as the rest of the platform, without recording your question text. Local session logs stay off unless you turn them on, and even then they exclude code fetched from repositories outside your local checkout.

Command Palette

The extension registers these commands:

  • Nomain: Sign In / Nomain: Sign Out
  • Nomain: Configure Server URL
  • Nomain: Send Feedback
  • Nomain: Add Selection to Chat Context
  • Nomain: Cancel In-Flight Query

Streaming parity with the web app

Streaming and reconnect behave the same as the web app. Opening a chat whose answer is still being generated, even one you started in the browser, reconnects to the live stream and keeps showing it. See Chat.

  • Chat: the same conversation experience in the browser.
  • Systems: what you chat about.