Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>ResXpressNew to Visual Studio Code? Get it now.
ResXpress

ResXpress

Prateek Mahendrakar

|
32,562 installs
| (17) | Free
Resx editor, previewer and sorting extension
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ResXpress

Resx editor, previewer and reorganizer extension for Visual Studio Code and VSCodium.

logo

LicenseDeploy

Visual Studio Marketplace VersionInstallsDownloadsRating

Open VSX VersionDownloadsRating


Features

Custom Resx Editor

Resx Editor

This is active by default when the file is opened, however you can choose to open from Explorer Panel - Right Click on the resx file - Choose ResXpress Editor

Custom Editor Option

Below is the Text Editor vs. Resx Editor side by side comparision.

Compare Editors

It offers the following features;

  • Adding a new resx data.
  • Editing an existing resx data.
  • Deleting an existing resx data.
  • Searching by key, value or comment to filter down a large resx file. Ctrl+F (Cmd+F on macOS) focuses the search box and Esc clears it.
  • Checks for resx data with duplicate keys and shows error if exists.
  • To and Fro updates between Text document and ResxEditors as soon as typed valid resx data.
  • To and fro updates Text document and ResxEditors when Save triggered on either.
  • Preserves the file as it was written: indentation, line endings, comment positions and the trailing newline all survive an edit, and only the lines you changed are rewritten. The one exception is ' and " in values, which are written as ' and " - both are valid XML and mean the same thing, and it is how .NET writes them too.
  • Automatically regenerate strongly typed resource class file(controlled by setting)
  • Add a new resx file.
  • Update C# namespace of a resx file.

ResXpress: Edit All Languages

Every culture of a resource in one editable table, one column per language - Resource1.resx, Resource1.de.resx, Resource1.fr.resx and so on side by side, instead of one file at a time.

Open it with the Languages button in the resx editor's toolbar, from the command palette, or by right-clicking a resx editor tab or a resx file in the Explorer. Any culture of the resource will do: the whole family is found from whichever file you start on.

The button, the command palette entry and the editor menu entries appear only when the resource actually has other languages - a lone Resource1.resx with no Resource1.<culture>.resx beside it has nothing to combine. The Explorer entry shows on every resx file, and tells you when there is nothing to combine.

  • Each column writes back to its own file, using the same minimal-edit path as the single file editor, so a translation file only ever gains the lines you actually changed.
  • A key missing from a translation shows as a highlighted empty cell - typing in it adds the entry to that language alone, and clearing a cell removes it again. Nothing writes blank entries into languages you did not touch.
  • Comments collapse to a single column showing the default language's comment, or expand to one column per language for translated comments. The toolbar button switches between the two; the columns you hide are never rewritten.
  • The Key column stays pinned while the languages scroll sideways, so the table stays readable however many languages there are.
  • Save All saves every file the table has changed - most of them are not open in a tab of their own. Deleting a row removes that key from every language.
  • Files you edit here show as unsaved until you save them, exactly as they would if you had edited them by hand - including in any tab that already had one of them open.

ResXpress: Markdown Preview

Preview resx file as Markdown table.

Screenshot1

ResXpress: Sort By Keys

Reorganize file by sorting by Keys.

Screenshot2

ResXpress: Web Preview

Preview resx file as a nice Webview table.

Screenshot3

Adding new resx file

Adding resx file

Updating resx C# namespace

Resx namespace

Resx Data Snippet

  • Type resx and snippet will pop up.
  • If it doesnt then Control+Space(CMD+Space for Mac) to trigger intellisense.
  • Edit key, value and comment values(press Tab to go to next editable value)

Snippet

Settings

  1. generateStronglyTypedResourceClassOnSave: Generate/update strongly typed resource class files when updates to resx files are made.
    Default: false.
    Ex: Resource1.resx → Resource1.Designer.cs

  2. useFileScopedNamespace: Use File Scoped Namespace.
    Default: true
    true: File scoped namespaces.
    false: Block scoped namespaces.

  3. indentSpaceLength: Deprecated, and will be removed in a future version — use editor.insertSpaces and editor.tabSize instead. It is still honoured wherever it is explicitly set. Options: 2, 4, 8.

  4. enableLocalLogs: Enable local logs, shown in the Output window.
    Default: false.

Indentation

A resx that is already indented keeps its own style, tabs included: ResXpress copies whatever the file uses, so a one-character edit stays a one-character edit in the diff. Indentation is only chosen where there is nothing to copy — a new file made with Create Resx File, or a file with no indentation at all — and that choice follows your editor: a tab when editor.insertSpaces is off, otherwise editor.tabSize spaces.

Known Issues

A resx diff shows two ResXpress editors instead of a text diff

ResXpress is the default editor for .resx, and VS Code gives a custom editor no way to opt out of diff mode - so opening a resx from Source Control paints the ResXpress editor on both sides instead of a text diff (vscode-discussions#799). There is nothing the extension can do about this; VS Code's fix for it is still a proposed API (vscode#298924).

If you diff resx files often, this user setting sends them to the plain text editor:

"workbench.editorAssociations": {
    "{git,gitlens,vscode-local-history}:/**/*.resx": "default"
}

ResXpress does not add this for you, because it is a trade rather than a fix. It is a global setting that follows you to every workspace, and it covers more than diffs - a resx opened from Source Control history or from the Timeline becomes plain text too, so you lose the ResXpress table for reading those. Editors that are already open keep the editor they opened with, so close and reopen a diff after adding it.

Release Notes

ChangeLog

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft