Code Monkey home page Code Monkey logo

tabout's Introduction

README

Tab out of quotes, brackets, etc for Visual Studio Code.

The list of characters to TabOut from is configured in Settings (https://code.visualstudio.com/docs/getstarted/settings). You can remove and/or add characters to customize TabOut to your liking.

Default list of characters to TabOut from (click to expand)
        {
            "open": "[",
            "close": "]"
        },
        {
            "open": "{",
            "close": "}"
        },
        {
            "open": "(",
            "close": ")"
        },
        {
            "open": "'",
            "close": "'"
        },
        {
            "open": "\"",
            "close": "\""
        },
        {
            "open": ":",
            "close": ":"
        },
        {
            "open": "=",
            "close": "="
        },
        {
            "open": ">",
            "close": ">"
        },
        {
            "open": "<",
            "close": "<"
        },
        {
            "open": ".",
            "close": "."
        },
        {
            "open": "`",
            "close": "`"
        },
        {
            "open": ";",
            "close": ";"
        }
        

This extension is enabled by default. You can override this behaviour in your settings:

"tabout.disableByDefault": true

You can toggle the extension with the 'Toggle TabOut' command.

tabout's People

Contributors

abramyangcn avatar albertromkes avatar dependabot[bot] avatar gaetawoo avatar jamesonknutson avatar whizsid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tabout's Issues

Tab through multiple characters

Is there a setting for the tab to move through all consecutive. Lots of times I need to hit it twice to get through a auto completed ') or "}) etc.

Prioritize tabout over next snippet placeholder

Functional issue

We should have a setting (or change the default behavior, but a setting makes more sense) to prioritize the use of tab to tabout, over the use of tab for accessing the next snippet placeholder.

Example 1

Using the following snippet:

"Test": {
    "prefix": "test",
    "body": ["> $1 <, $2"],
    "description": "Testing Tab out"
}
  1. (Use a language with automatic parenthesis completion: typing ( inputs ())
  2. Type test and trigger snippet extension
  3. Input (, you should now have the following: > (|) <, (where | is your cursor)
  4. Using tab here places you on the next snippet placeholder: > () <, |

Expected behavior: you should be placed here: > ()| <,

Corner case

The described expected behavior should only happen while standing inside the current snippet placeholder!

Example 2

Using the following snippet:

"Test2": {
    "prefix": "test2",
    "body": ["$2, > $1"],
    "description": "Testing Tab out 2"
}
  1. Type (test2
  2. Trigger snippet extension, you should have the following (, > |)
  3. Pressing tab here should correctly send you to the next snippet placeholder (which is before the comman on the same line here)

This is currently functioning correctly.
I just wanted to mention it here as something to be careful not to introduce when writing a fix.

Example 3

Using the same snippet as in Example 2.

  1. Type (test2
  2. Trigger snippet extension
  3. Type (, you should have the following (, > (|))
  4. Here the expected behavior when pressing tab once is: (, > ()|) (which is not what is currently happening)
  5. Pressing tab a second time should give: (|, > ())

I don't get it

stared at the README gif while it looped 20 times and have no idea what this does.

The README explanation is not helping... could you please explain it to me? Thanks!

Can't indent line with TAB in html

When I place cursor on line beginning and press TAB then instead of line indent cursor move into html tag. It's looks like TAB skip "<" char which in my opinion should be ignored. This extension should be used to TabOut from tags, strings, etc. Not to TabIN to them.

Feature Request: Make it tabout semicolon too

hello! it would be awesome if tabout worked with semicolons too!
almost all languages use that, and it would be as much useful as tabout parentesis and all this extension already do ๐Ÿ˜„

Extreme lag from pressing Tab to action when extension is running in remote (ssh) host

Due to network speed or load on the remote host machine sometimes I experience huge delays from when I press the Tab key until I see the cursor move. It can get up to 10 sec sometimes and there is noting more annoying than typing unresponsiveness.

I guess my question is that does the extension have to run on the remote site or it is possible achieve the same result running locally for code that exist on remote site but edited locally?

Tab out of characters on later lines

When cursor is at the end of a line, I'd love to be able to tab out of a bracket on a later line. In the screenshot, I'd like to be able to click tab to get out of the bracket below, which would be perfect for making an else if or else. I can't think of any use case for putting a tab at the end of a line, so the change should be nonintrusive.

image

my tabout issue

Hey, I have seen people who use this extension and when they press tab, the cursor moves to the end of the brackets (to the right), but when I press tab, the extension moves the cursor to the start of the brackets (to the left). How do I solve this issue, if I want my cursor to jump over the brackets to the right?

Provide Option to Prevent Tabbing Out With Text Selection

When text is selected, if the cursor is on a eligible tabout character, the selection will be undone when pressing tab, and the cursor will move.
This is probably likely an oversight given that tabbing with a selection should instead change the selections indent level.

For example, in this image, I have selected text. My cursor is next to a quote. Pressing tab should not trigger tabout, but should instead perform the default behaviour of indenting the selection block.

image

Not working with multiple cursors

I have multiple cursors, all of them lined up on a quote. Hitting tab removes all other cursors and just tabs through the first cursors quote.

Possible solutions:

  • If all multi cursors are lined up, then tab through. Else don't.

Breaks default tab completion

The extension seems to break/override the default Tab Completion option in VSCode.

Expected:
Type: pr
Press: TAB
Get: print
Press: TAB
Get: println

Actual:
Instead of println I just insert a TAB character.

When I toggle Tabout it still doesn't work. However, when I disable tabout and reload the workspace the vscode tab completion works again.

conflicts with bracket pair colorizer 2

When tabout is enabled, bracket pair colorizer 2 formatting is not applied to python code.

VS Code

  • v1.50.1
  • OS: Windows_NT x64 10.0.18362

Bracket pair Colorizer

  • v0.2.0

conflicts with github copilot completions

This extension conflicts with copilot.

Hitting tab to get a code completion from codepilot fails - nothing happens, even though the grey prompt of suggested text is there.

I had to uninstall tabout. Even so, copilot was still not working and I was getting command 'tabout' not found when hitting tab. I had to find the key binding and remove it manually, and now copilot works again.

Change keybinding

I would love to be able to easily change the tabout keybinding. The reason for this is that the current functionality, exiting brackets/parentheses via pressing tab, interferes with autocompletion inside these brackets/parentheses (e.g., autocompleting a variable name inside a function call). I personally use shift+tab in Sublime to achieve this end, but would love to see this in vscode.

Add extension to Open VSX Registry

The extension can't be found in Open VSX Registry.

Editors derived from VS Code such as Gitpod and VS Codium cannot access Microsoft's marketplace by policy, so Open VSX is being used as an alternative marketplace.

As a user of Gitpod, Hopefully, I want you to post an extension on open vsx.

Thank you.

Doesn't work on my computer

I have MacBook Pro and after installing and then restarting vscode It's not working. I see the toggle message and the keybindings so I assume that it installed correctly. Any suggestions?

Extension does not work in a markdown list

Hello! Thanks for the extension!

Want to report that the extension does not work when the extension Markdown All in One by @yzhang-gh is enabled, especially inside a markdown list. See the recording below.

Screen.Recording.2023-06-08.at.16.21.15.mov

When the markdown extension is disabled, the tab-out works fine.

Is this Project accepting contributors?

I find this extension quite useful and have written a few of my own VSCode Extensions, specifically ones somewhat similar to this extension.

I would like to implement some of the changes that have been suggested in the open issues, but there has not been any activity on this repository for quite some time. Should I fork this repo, or should I contribute here?

@albertromkes

tabout extension from visual Studio not available

Hi,

From comments I've seen online, it seems that the tabout extension should be available from the Visual Studio marketplace (accessed and installed through the extension manager like other extensions), but it doesn't show from there. I've also seen some instructions for loading it outside of the Visual Studio extension manager, but no luck with that as well.

I'm using Visual Studio Community 2022 Preview.

Can anyone explain what the problem might be, or provide instructions that might work?

Thanks for your help!

can't make a backward action

it would be great to see the backward action on Shift+Tab combination
meaning, while single Tab moves cursor from left to right (out of parenthesis)
combination Shift+Tab moves it back from right to left (inside parenthesis)

Execution delay

Usually triggering the tabout will work immediately. However, sometimes I trigger it and the cursor stays where it was at. It does eventually execute, after maybe 20 or 30 seconds or so. But by then I've manually moved the cursor out and have continued coding. Thus, when it executes, it does strange things after the delay in the middle of whatever I was trying to type.

In one case, where it should've moved past the closing paren that was at the end of the line when I triggered tabout, I was on another line and it suddenly jumped to the end of that line.

In another case, I triggered it, waited, gave up and started coding more and was on a subsequent line of code when the cursor suddenly jumped back to where it should've ended up immediately after triggering it.

I don't have a test case to reproduce the issue with right now, but wanted to mention it here in case anyone else has seen it.

add combination key to prevent tabbing out/tabbing in

Something like being able to add a hotkey to disable the tab out behaviour like for example shift + tab that would force the insertion of a tab instead of jumping out of/into brackets/quotes.

preferrebly one could set this combination key

Conflict with Emmet

Thanks so much for developing this extension. I use WebStorm and love it โ€ฆ except for Jetbrains' refusal to add the Tabout feature to their IDEs. Your extension has made working with VSCode a real treat.

Anyway, I've had difficulty getting Emmet to function properly. For example, I key in "html:5" and hit TAB and nothing happens. Disabling Tabout fixed the problem.

But I love Tabout, so I'm very conflicted right now.

Thanks again.

_bryan

Does not work in ipynb file

I realize there has not been an update for quite some time to this extension, but the ability to use it in ipynb files would be very helpful to me. I love this extension, and it is one of the reasons I stick with VS code.

Breaks emmet tab completion

Steps to reproduce

  1. Disable all plugins but tabOut.
  2. Create an index.html file.
  3. Input a ! at the begining of the file.
  4. Press tab

Expected

The following markup should appear:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

Actual

Nothing happens.

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.