
NoShift.js - VS Code Extension
Syntax highlighting, auto-complete, and file icons for .nsjs files
Typing shifted symbols (!, ", (, ), {, } …) is tiring.
NoShift.js replaces every shift-required symbol with a ^-prefixed sequence, so you can write JavaScript using only unshifted keys.
.nsjs files compile directly to plain JavaScript via the nsc CLI.
Features
Syntax Highlighting
Full syntax highlighting for .nsjs files.
- Keywords:
const, let, function, class, if, for, return, etc.
- NoShift sequences:
^2, ^[, ^- and other symbol sequences colored as operators/punctuation
- String literals:
^2...^2 (double-quote), ^7...^7 (single-quote), ^@...^@ (template literal)
- Template expressions: Code inside
^4^[...^] highlighted as nested expressions
- Built-in objects:
console, Math, Promise, Array, etc.
- Comments:
// line comments and /^: ^:/ block comments
File Icon
.nsjs files display a dedicated file icon (↓js).
- Shown in tabs and Explorer for VS Code 1.79+
- When vscode-icons is installed:
.nsjs, nsjsconfig.json, and nsjslinter.json icon associations are configured automatically on activation
Auto-Complete
Typing ^[ automatically inserts the matching ^] and places the cursor between them.
Input: ^[
Result: ^[|^] (| = cursor position)
Code Snippets
| Prefix |
Inserted |
^[ |
^[${1}^] |
Diagnostics
Real-time syntax error detection as you type. Errors appear as red squiggly underlines in the editor and in the Problems panel.
- Unclosed string literals (
^2, ^7, ^@)
- Unclosed block comments (
/^: ... ^:/)
- Unclosed template expressions (
^4^[...^])
- Unknown
^ sequences
- Lone
^ or ^3 at end of file
Requirements
- VS Code
1.70.0 or later
- (Optional) vscode-icons - integrates file icons with the vscode-icons theme
Language Support
This symbol mapping is based on the NoShift.js developer's keyboard (JIS layout).

| Feature |
Details |
| Extension |
.nsjs |
| Language ID |
noshift |
| Line comment |
// |
| Block comment |
/^: ^:/ |
| Bracket pairs |
^[ / ^], ^8 / ^9, [ / ] |
| Auto-close |
^2, ^7, ^@, ^[, ^8 |
License
MIT © otoneko.
| |