Skip to content

Releases: InfiArtt/code-compass

Code Compass 0.4.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:34
f821a71

🛠️ Fixed

  • Removing a line's indentation in Python so that return or break ends up outside its function or loop is now a problem: Python code is compiled (still without running anything), not only parsed.
  • The check for new problems also runs after deleting (Delete, Backspace, control+Backspace, control+Delete), cutting and pasting, and after Code Compass's own commands such as shift+Tab or moving lines, not only after typing a character.

SHA256 Checksum:

32ad0d56341baf67f7865cc949f9cc78e1dc1c393d5ea9c402ebd8f877f8bd48 codeCompass-0.4.2.nvda-addon

Code Compass 0.4.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:00
58e4e21

🎉 New

  • Undo and redo many steps in Windows 10's Notepad, like in VS Code. Notepad itself keeps only one step, and its second control+Z brings the change back. Now control+Z goes back step by step and control+Y (or control+shift+Z) forward again. A step is a run of typing (it ends when you pause or move to another line) or one Code Compass command, such as a line move or a rename. The changed line is read, and going back to the saved text clears the "*" in the title. It can be turned off in the settings.

SHA256 Checksum:

43d163b22f5c725ec7c3ed223c463b0451e57c711abecf264018f60b775b44c8 codeCompass-0.4.1.nvda-addon

Code Compass 0.4.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:41
e7c986b

The first public release. Coding in Notepad now works much more like a code editor such as VS Code.

🎉 New: editing in Windows 10 Notepad

  • Automatic indentation: Enter keeps the indentation, adds a level after an opening bracket (or : in Python) and goes back a level after return, pass, break, continue or raise in Python. Enter between {} puts the closing bracket on its own line. A closing bracket typed first on a line lines up with its opening bracket.
  • Tab and shift+Tab indent and outdent the selected lines; shift+Tab alone outdents the caret's line.
  • control+/ comments or uncomments lines.
  • control+space completes the word at the caret with names from the file and the language's keywords, one suggestion at a time, spoken with its place ("currentUser, 1 of 3"). control+shift+space reads the parameters of the function you are calling.
  • control+shift+K deletes lines, control+shift+up and down arrow move them, control+shift+D duplicates them.
  • F2 renames a name everywhere in the file, outside comments and strings, in one step that control+Z undoes.
  • Closing brackets and quotes can be added automatically (off by default).
  • Text is changed directly in Notepad, without the clipboard or simulated typing.

🎉 New: moving around and finding problems

  • Problems: syntax errors in Python and JSON files are found without running anything, along with unbalanced brackets. F8 and shift+F8 go to the next and previous problem, control+shift+M lists them, a sound marks lines with a problem, and control+S reports them after saving.
  • Run Python with control+F5: the file is saved and run in a Command Prompt window, where it can ask for input. If it stops on an error, Code Compass tells you the line and F8 goes there. control+` opens a Command Prompt in the file's folder.
  • Explorer (control+shift+E): the project's files and folders as a tree. Open files, and create, rename and delete (to the Recycle Bin) files and folders.
  • Command palette (control+shift+P): every command with its keys; type to filter.
  • F12 goes to the declaration of the name at the caret; shift+F12 lists every line that uses it.
  • The current function is announced when the caret moves into another one, like VS Code's breadcrumbs.
  • TODO notes: NVDA+shift+K then shift+T lists TODO, FIXME and similar notes in comments.
  • Bookmarks: control+alt+K marks a line, control+alt+L and control+alt+J go to the next and previous one, and NVDA+shift+K then shift+B lists them. A short note plays on bookmarked lines. Bookmarks are kept per file across NVDA restarts and stay on their line when lines are added or removed above it.
  • Going back: control+alt+backspace returns to where the caret was before a jump (F12, F8, bookmarks, lists, control+G), control+alt+shift+backspace goes forward again.
  • control+G (Notepad's Go To) now says where you landed, such as "line 40, in function load".
  • control+S says "Saved, no problems" when the check finds nothing.
  • Visual Studio Code's sounds for lines with an error, a warning or a bookmark, saving, program runs and renaming (beeps remain as an option).
  • Files changed on disk: when another program changes the open file, Notepad reloads it on your return (or, with unsaved changes, tells you), and says what changed. NVDA+shift+K then R reloads at any time.
  • Problems while typing: a second after you stop typing, a new problem plays the error sound, and can be read too.
  • Python is found through Windows' list of installed Pythons (the newest one is used), so running works even when NVDA started without your PATH, for example from the sign-in screen. The Command Prompt from control+` gets your current PATH too.
  • New problems: Python lines indented with tabs where the file uses spaces (or mixing both), and functions or classes declared twice in Python and JavaScript. A function declared inside a function of the same name is listed as a warning.
  • Where am I and family say how many lines a function or class has, and a finished program says how long it ran.
  • control+shift+space also works with the caret on the function's name or its parentheses, and leaves self out for Python methods.
  • Backspace right after an opening bracket that auto-close completed removes both.

🛠️ Fixed

  • Finding a declaration's body is much more reliable: functions with parameters on several lines, generic types such as Component<Props>, Rust where clauses, throws or extends on the next line, functions passed as arguments (React forwardRef, Express, mocha), bodies wrapped in parentheses, and declarations without a body all work.
  • Decorators, annotations and attributes (@dataclass, @Override, [HttpGet], #[derive], template<>) belong to the declaration below them, also with a comment or blank line in between.
  • A declaration after the end of a class is no longer counted as part of it, and an unclosed bracket while typing no longer nests every later function inside the one before it.
  • A Python string with lines at column 0 no longer ends its function early.
  • Snippets: Notepad gets snippets without the clipboard; files saved as ANSI or UTF-16 in Notepad can be inserted; names Windows reserves (such as "nul") and hidden files are handled; the snippets dialog no longer fails on a file that cannot be read.
  • Messages say "1 problem" and "Selected 1 line" instead of plural forms.
  • Names inside Python f-strings, JavaScript template literals and Swift interpolation count for rename, uses (shift+F12) and completion.
  • A half-typed f-string field, a JavaScript regex holding a quote or backtick, and Swift raw strings (#"..."#) no longer hide the rest of the file from the outline and bracket checks.
  • The outline also finds one-line methods, methods with an annotation on the same line (@Override public String toString() {), Go types and generic functions, Rust impl<T> ... for Type, generic C# methods and Kotlin extension functions. A parameter named record or typed object no longer turns calls into functions.
  • Single-line fields in the editor's own dialogs (Save As, Find) keep their keys, such as alt+up arrow.

SHA256 Checksum:

789c2ce85da055de6f5c4ca6bb961e4cc615d6e386ddff27343de83efdef9865 codeCompass-0.4.0.nvda-addon