Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add UI/UX for setting the binary path #31

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

AlexCannonball
Copy link

@AlexCannonball AlexCannonball commented Apr 2, 2023

Hello, I'd like to propose UI/UX improvals for users that have just installed the extension, or downloaded the protolint and have no softlink to the binary in the OS.

Changelist:

  • Limit the scope of protolint.path configuration, as it's usually just one per machine.
  • Add the clickable repository link for Settings UI.
  • Add the warning message when the default path isn't working. Buttons:
    • Open the repository link in the browser.
    • Find the binary via the system file picker (it requires vscode engine ^1.31.0).
  • Add the key binding ALT+SHIFT+L for protolint.lint command.
  • Event subscription refactoring, make the necessary extension disposables to be cleared after the extension deactivation.
  • Refactoring for the target language filter (use DocumentSelector).
  • Add the diagnostic source protolint:
    • image
  • Fix a bug when linter warnings were not cleared after closing the file. I guess if you get this state and edit the file in another editor and then open again in vscode, you'll see old irrelevant warnings.
  • Fix a bug when linter warnings are kept after changing the file language from protocol buffer to another language.
  • Experimental fix for Linting results aren't updated on changing active editor or running protolint.lint command #32 using IPC + child_process.execFile.
    • Tested on Windows 10 only. Testing on Unix/macOS would be appreciated.
    • Works slower than linting a file (takes ~1-2 seconds). Probably because protolint makes 21 excessive readings from the socket and there's no cache for IPC.
    • At the moment IPC is used only when the document has unsaved changes.

If you're happy with the changes, we need to update readme.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant