Coder Social home page Coder Social logo

horvathaa / catseye-vscode Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 0.0 28.16 MB

An annotation system for VS Code - treat your code like Google Doc comments. :-)

Home Page: https://www.catseye.tech/

TypeScript 96.86% JavaScript 0.28% CSS 2.86%
vscode vscode-extension

catseye-vscode's People

Contributors

horvathaa avatar imtiaznyc1 avatar nonameentered avatar shannonbonet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

catseye-vscode's Issues

Carousel Arrow Wraparound and Active Dot

Currently carousel arrows only appear on hover. Ideally this is more intuitive as the dots indicating snapshots does not appear.
Screen Shot 2022-09-07 at 11 32 49 AM
It is also unclear when the carousel decides to wrap around as there is no indication which snapshot/dot is the 'active' one.

Suggestions:

  • Make carousel arrows always appear, but disable wrap around.
  • Make clicking on the dots work? Make the active dot larger?

Make clickable code snapshot more obvious

Screen Shot 2022-09-07 at 11 38 30 AM

This code chunk can be clicked, but currently there is no obvious indication that this can happen.

Suggestion

  • Turn cursor into the click cursor
  • Add click animation?

Manual Reanchor functionality

Currently, there is no way to reanchor a snapshot (whether unattachored or attached) while preserving history.

Alongside this, perhaps when we run out of suggested anchor spots, we show "delete" or "reanchor" in the suggestions

Small Issues That Should Be Resolved (whoever has time can take any of these on)

I'm writing these down just because they're small issues I consistently forget are an issue, but should be resolved. Please reply to this comment with PR numbers that resolve any of these issues and which issues the PR resolve. Also, feel free to add any small issues you all encounter (bigger issues should still have their own GitHub Issue made for them). These small issues are based off the code at main currently (i.e., as of PR #39).

  • Issue: Menlo does not exist in Windows, so font in AnchorCarousel.tsx looks weird.
    • Resolution: This should be fixed in PR #42 (just added Consolas to font-family along with Menlo), but we should double-check that it still looks good on Mac.
  • Issue: Hide Suggestions (the text that appears before the potential anchor reattachment points) should be more like a button
    • Potential Resolution: Add styling to make it look more like a button or at least change the cursor on hover to be the pointer finger (i.e., add cursor: pointer to the element either as an inline style or to the class it is a part of)
  • Issue: Currently, the anchor text is not selectable since clicking and dragging moves the carousel, instead of selecting the underlying text. It would be nice to support selecting such that users can copy-paste their annotated code (especially prior versions to support local, micro-versioning).
    • Potential Resolution: Either finagle with the Carousel such that the drag event is ignored if the user is directly over some text (this seems kind of hard) or disable the dragging feature altogether (not ideal either). Any better ideas here would be great, lol.
  • Issue: When the user's anchor text is not a full line of code, the anchor only shows the anchor text, and not the code surrounding that line (e.g., if I annotated foo on a line that says if(foo) {, the anchor will only show foo, but the surrounding lines will have all of their content). Maybe this is okay? But it seems a little weird to always show full (sometimes truncated) lines except on the line the user annotated).
    • Potential Resolution: surroundingArea.linesBefore and surroundingArea.linesAfter have copies of the full line of anchored code at indices surroundingArea.linesBefore.length - 1 and 0, respectively. We could grab the text at one of those indices and either print the full line, or (better yet) grab that line and find the anchor text within that line and highlight that bright green, and the rest a darker green, as we do with the surrounding code.
  • Issue: When the annotation content is empty, we still draw a border box around where the annotation text normally would be, which looks kind of goofy.
    • Potential Resolution: Only render that box if the annotation content is not empty (i.e., anno.annotation.length > 0).
  • Issue: "Show Annotation" button that appears on hover over anchor code in file does not work anymore.
    • Resolution: Add back in an element ID for each annotation component since that's how we scrolled to the corresponding annotation in the annotation list.
  • Issue: Editing an annotation updates the createdTimestamp, but other actions that modify an annotation (e.g., replying, adding a new anchor, etc.) do not update that field.
    • Potential Resolution: Add a new lastEditedTimestamp field, and update that. Can also use that for sorting by time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.