metaseed / metago Goto Github PK
View Code? Open in Web Editor NEWMetaGo provides fast cursor movement/selection for keyboard focused users in vscode
License: MIT License
MetaGo provides fast cursor movement/selection for keyboard focused users in vscode
License: MIT License
So I tried adding the following to my settings.json
(like described in the docs)
"metaGo.decoration.characters": {
"type": "string",
"default": "k, j, d, f, l, s, a, h, g, i, o, n, u, r, v, c, w, e, x, m, b, p, q, t, y, z"
},
and it throws a TypeError.
"metaGo.decoration.characters": "k, j, d, f, l, s, a, h, g, i, o, n, u, r, v, c, w, e, x, m, b, p, q, t, y, z",
works fine though.
Hi! A quick drive-by suggestion: moving up/down using whitespace is even more useful if you would take column into account, so one could use current indentation to affect the granularity of movement. Some explanation here: microsoft/vscode#16367
It may need experimentation, but basically skipping up/down to next char before whitespace (if already on a char), or next char after whitespace (if already on a whitespace). Where whitespace means whitespace at the beginning or at the end of line. Needs to keep column state in memory, so that skipping won't stop at empty lines etc (where cursor column position is lower than intended). Wrapped lines may be a problem for you, however.
This kind of skipping movement is very convenient as one can decrease cursor indentation with home-key to start skipping among beginning/end of control structures, functions, modules etc easily, and usually one finds navigating to other lines is also easy as one can go further in the line and skip to a long line near the target line in question. Combined with intelligent horizontal movement such as word-and-delimiter-skipping, which might be a good fit to this extension at some point, it makes a good default movement for many. Thanks!
I uninstalled my vim extension in VScode because it so slow what startup of is cost me about 2s.
I installed amVim And MetaGo.They feed my need.And they are quick.But one thing that is not better than VIM extension is that MetaGo doesn't have a line mode,which can be done in Vim extenson by command \j \k \h \l after enable EeayMotino In it,would you please add those founctions to it?
thanks.
When I use metaJump or metaSelect the created jumping highlights will stay until the editor tab is switched. See the attached gif:
This started happening since I added an integrated terminal profile, with a custom path and setting it to the default terminal profile.
Like so:
"terminal.integrated.profiles.windows": {
"Cmder": {
"path": [
"${env:windir}/Sysnative/cmd.exe",
"${env:windir}/System32/cmd.exe"
],
"args": ["/K", "%cmder_root%/vendor/bin/vscode_init.cmd"]
},
"Testing": {
"path": ["${env:windir}/System32/WindowsPowershell/v1.0/powershell.exe"]
}
},
"terminal.integrated.defaultProfile.windows": "Cmder",
When setting a native integrated default profile like "terminal.integrated.defaultProfile.windows": "PowerShell"
the issue does not happen. At first I thought it could be a cmder issue, but directly referencing PowerShell via a custom profile with a path will also reproduce the issue.
Overriding the terminal profile by setting the deprecated `"terminal.integrated.shell.windows" will fix the issue (even when the other setting is still in the settings file):
"terminal.integrated.shell.windows": "${env:windir}/Sysnative/cmd.exe",
"terminal.integrated.shellArgs.windows": ["/K", "%cmder_root%/vendor/bin/vscode_init.cmd"],
I am honestly not 100% sure if this is a metaGo issue, but I could not reproduce this behavior with any of the default vscode movement/select actions. I would debug it further myself, but the source code for all submodules is currently set to private (intended or just an oversight?).
Hi,
I found it not work when a line with a comment in line end, such as:
Taro.uploadFile({
url: 'https://www.example.com/upload', // 仅为示例
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success: (uploadFileRes) => {
console.log(uploadFileRes.data);
}
});
when try goto 'url', press metaGo.gotoSmart key, the line can not show jump char.
then delete the comment // 仅为示例
, it works.
Repro steps & actual behavior
metaGo.gotoBefore
and e
.Expected behavior
Do not search through and highlight anything where focus switch is not supported to.
In the video example, I execute metaGo.gotoSmart
and quickly input "foobar," which leads to unexpected behavior.
When I enter "foobar" slowly, it works as expected.
This only seems to occur when there are a lot of matches on the screen.
It would be awesome to add ability to incrementally filter word navigation, e.g. when someone wants to navigate to the word awesome
starting with a
adds labels to all occurrences of a
, then typing w
leaves labels only the at places which contains aw
, etc...
I recently updated this to v1.15.0 and experienced this issue. Cursor is not moving to the double characters position but works fine with single character position. I mean when there are lots of matches and this extension shows two characters (ie. kj
) and when I type k
and then j
the cursor is not moving to that place.
VSCode v1.11.1
Thanks.
It would be great if there's a configuration setting to add code labels only to beginning of words. IMO this is the main use-case (or at least I use it only this way). This will vastly reduce the clutter when trying to navigate to a word that starts with a very common character (which gets even worse when the word contains it multiple times).
At least on Linux, the default keybind for editor.action.selectHighlights
is Ctrl+Shift+L
, which metaGo inconsiderately overwrites.
Is it possible for the default keybind for metaGo.selectLineUp
(or any other metaGo commands) to change, so it doesn't conflict with any default vscode commands ?
Right now, the plugin searches single character, and often there are too many matches,
it would be nicer if we can configure the length of the search, say i can type alt +;
then followed by a two or three character before the positions been highlighted.
Title pretty much says it all, would be neat if users could customize label/target coloration for foreground and background.
I searched through the obvious documentation, but if such customizations mentioned in #84, #85, or this existed, I couldn't discover what their json keys were to do so.
Thanks very much for such an excellent package!!
MetaJump only highlights the n closest occurrences of the letter to jump to. The area where occurences highlighted seems to correlate with the current method block. I expected that all visible occurrences in the current editor are highlighted.
The metaGo.gotoInteli
command is missing and does not appear in the command palette or the contributed commands section in the MetaGo extension description. Is this because the command is not registered in package.json
in the contributes
section?
Could you push a new version up? I'd much rather bind Alt+; to the inteli version of the command instead of having to remember Alt+; or Ctrl+Alt+;
Thanks for an amazing plug-in. As a keyboard junkie, this is a life saver!
VS Code version | OS | Extension version |
---|---|---|
1.37.1 | Win 10 x64 pro (french) 18362 | 2.11.0 |
Any currentLineTo methods don’t do anything. What are they supposed to do ? It sounds like a broken feature.
I'm not quite sure how to describe it, but I've been using this extension for a while and every time I switch back to using Neovim and using the lightspeed plugin (https://github.com/ggandor/lightspeed.nvim), text navigation with the latter always feels really nice to use. Not saying that this extension isn't good by any means, it just feels like there's less "friction" with lightspeed.
I can't quite put my finger on why I like it so much more, but perhaps if you're familiar with Neovim you should give it a try and see if that'd fit into this extension. Someone did a great intro video on YouTube here if you want to see if in action. If you ultimately decide that it's not good fit for this extension, that's fair enough, but I figured I would propose it since this is probably the only extension I could hope to get it implemented in VSCode properly 😄
VS Code Insider 1.15.
When using VSCode Insiders the destination letters don't appear anymore.
It switches to the Jump-Mode, you can see a green bar at your current location, but the other letters are missing.
If you then press some likely keys the courser jumps.
So it seem it's really just the display.
I'm currently using VSCode Insiders Version 1.39.0
I disabled all other extensions but the problem persisted.
When using the normal Version (1.38.1) metaGo works as it should.
Hi,
I set "metaGo.jumper.targetIgnoreCase": "true"
and it doesn't work.
I think the cause would be the setting must be boolean instead of string type. If user forces the boolean type, it doesn't work either.
You should convert this "metaGo.jumper.findInSelection": "on"
setting to boolean too.
"metaGo.decoration.backgroundOpacity": "0.7"
why not convert this to decimal type?
Not important and I don't know if you can do something about it, just curious: "metaGo.decoration.borderColor": "#000"
has no color preview while built-in VS code setting like
"workbench.colorCustomizations": {
"focusBorder": "#2F75B9",
}
has. Maybe there is color type to assign.
Regards
Hey is it possible to make more than one selection using multiple cursors feature?
Metogo does not seem to be working when I am in Jupyter (.ipynb) notebook in VS Code. Let me know if I am missing any settings or if it is a limitation of metago. Let me know if you need more information regarding the same
Hi, I maintain VS Code's Webview API
Our telemetry suggests that your extension uses webviews and may be loading resources in these webviews using hardcoded vscode-resource:
URIs. These URIs have some important limitations and don't work properly when VS Code is run in a browser. We are also making changes in the desktop version of VS Code that may cause these URIs to not work properly in future versions of VS Code.
While we are making our best effort to continue support existing webview extensions that use vscode-resource:
URIs on desktop versions of VS Code, we will not able to fully support all uses cases.
To ensure that your extension continues to work in as many environments as possible—including on web and remotely—please:
Switch to use the Webview.asWebviewUri
function for loading resources.
Switch to use the Webview.cspSource
property in content security policies.
These APIs shipped around 2 years ago so they should be available in all modern versions of VS Code. You can find additional information about the issue here: microsoft/vscode#97962
Let me know if you have any questions about this change
Above/beyond #84, it would also be great if there were preferences for how long the labels are displayed, so those of us with slower reaction times could up the time displayed, delay before canceling, and other periods.
Hey, I've been using jumpy for some time, but I prefer the design of your extension (text is much more legible). Thanks for sharing!
Jumping to a given phrase (alt+/
) is literally the only feature I need. Is there an easy way of enabling alt+/
exclusively? Having more features actually messes with my workflow a bit:)
There's a plugin I use in Vim all the time called clever-f, and every time I come back to VSCode I miss it. I wonder if adding something like it here is something that fits with this project.
How I imagine it working is:
Thoughts on implementing something like this?
In Emacs there is a package call "Avy" It can jump to all the docs on screen which is a super fast way to switch window. See image :)
https://i.imgur.com/H0vg3Gf.png
Not sure if it's possible to do in VSCode. Thanks for the good work. After trying all the jumpy stuff in VSCode, yours is the best.
I find it's often difficult to parse the label / jump-target required in the brief time displayed -- mono fonts tend to be "busy" at edges, so adjacent chars can "merge together" making labels difficult to quickly read.
It would be great if I could adjust the the jump targets / labels to use slightly larger font size, or even a different font entirely from the editor text proper (in order to ease discrimination from that text).
👋 Hey there. Thanks so much for your work on this package: MetaGo and MetaJump are a delight, and MetaWord solves what’s easily the most maddening bug in VSCode I’ve ever seen. My only quibble with the latter is that the cursorSpaceWord
commands skip over strings, rather than jumping to inter-word separators within them.
I double-checked that the behavior I expected was indeed the behavior that’s native to macOS, because it’s hard to remember at this point:
In TextEdit, the ⌥+←</kbd< and ⌥+→ hotkeys hit the forward slash characters in 'impress/scale-up'
and 'impress/step'
; with MetaGo, the caret skips directly from one end of the string literal to the other.
It’s still a welcome change over VSCode’s native behavior, so I’m not gonna complain too loud. But thanks for taking a look.
Hi All,
First of all, great extension.
I don't know if something changed recently, but for some time, meta jump does not cover whole view with decorations.
I have here sample lorem ipsum text, where I am jumping to 'r'. As you can see, not whole screen is covered with anchors.
It seems that it has something to do with the empty lines surrounding the paragraph tho. When I remove the empty lines decorations show on the whole view:
Is there something I am missing here? Some kind of setting how many decorations should show up? Or to search only within particular range? Or is it a bug?
Regards,
XobSod
Hi, could you persist the bookmarks.json in some other location, for example see extension-specific storagePath
and workspaceState
in Extension API. I haven't experimented with those, so don't know how they are affected by editor and extension upgrades.
Currently the booksmarks.json is saved to disk for any workspace that is opened in the editor, even if I rarely use bookmarks.
At the very least it should confirm whether I want to create the file on first use of bookmarks, so that I don't have to .gitignore it everywhere. Thanks!
Loving the package, really useful! I was wondering if there would be a chance to configure the box color and size - jumpy in Atom picks the editor theme which fits really nicely with everything.
Might not be top priority but would make it much nicer to look at. Many thanks for considering this!
When I press any extension specific shortcut or choose a command from command palette I got an error: "command 'metaGo.goto' not found".
VSCode:
Version 1.11.2
Commit 6eaebe3b9c70406d67c97779468c324a7a95db0e
Date 2017-04-13T08:01:14.464Z
Shell 1.4.6
Renderer 53.0.2785.143
Node 6.5.0
Hi, the repository seems to contain git submodules (e.g. for metaJump). However, the access to the submodules seems to be restricted, so git submodules update --init
fails. Could you please fix that? Thanks!
I'm used to hitting shift
+backspace
when editing files, especially when I misspell constants.
After installing this extensions it doesn't erase my last typed character, but instead it shows the error message:
command 'metaGo.delete.softDelete' not found
This seems to be a bug. I can't find anything about that setting in the docs.
great extension but one pitfall has been existence.
In visual mode of VScode vim extension, It seems to be worked well. But after cursor moved on, nothing has selected and I cannot copy anything. Could you solve this problem?
Hey, awesome extension - it's been rock solid for me. It doesn't slow anything down and it just works. Thank you!
Could you declare the licence for the project by adding a licence file to the repository?
Background
Some large corporations have rules around what products can be installed on their machines - e.g. they do code reviews and analyse project dependencies etc. etc. partly to make sure they know what code is running in their firm and partly for security analysis. One common step is a licence check for a product and all its dependencies but no licence is declared in this project which means some large firms will block their staff from installing this.
All the best,
Craig
Could you please update the changelog file for new releases? Being able to see what has changed with an extension update in VSCode is a very valuable feature.
I'm a bit confused about the behaviour of typing multiple characters for metajump. In the screenshot below, I typed "tak", but as you can see, it is annotating lots of locations that only start with 't', rather than the full prefix, and it is leaving out all the places on the left that actually do start with 'tak'. Is this expected behaviour?
Fwiw in case you need to see the text under the annotations:
Great plugin tho!
At the moment on startup this extension logs
Congratulations, your extension "metago" is now active!
This seems a bit useless…
Greetings. Hope you're doing well. Thank you for checking in this issue. I appreciate any help.
Describe the bug
I'm using metaJump along with vscodevim. I have the following setting:
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": [
"s"
],
"commands": [
"metaGo.gotoBefore"
]
}
]
However, when I press s
, the Quickpick command line popup window shows up (screenshot below), which is not what I want. I tried disabling vscodevim and metaJump behaves as expected (no popup window).
To Reproduce
s
Expected behavior
I tried the circumvent this issue with the following remap:
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": [
"s"
],
"after": [
":metaGo.gotoBefore"
]
}
]
This forces vscodevim to use the command line mode in the statusbar, but it shows E492: Not an editor command: metaGo.gotoBefore
. What's worth mentioning is that, before this error, the command runs successfully for a split second, i.e., I can see the editor area dimmed and tags activated.
So my question is, how do I run metaGo.gotoBefore
in command line mode?
Environment:
Thank you again!
demo shows itself
https://streamable.com/vgpia
Documentation mentions metaGo.inteli, while the actual command is metaGo.gotoInteli
Hello,
I am using the Vim plugin, and I was wondering if it's possible for an option to make the cursor appear before a character. I ask because when I goto a character in the middle or at the end of a word, the NORMAL MODE cursor actually appears on the character to the right of the one I have goto'd. The only time the cursor appears on the goto character is when it is the first character of a word.
Thanks for this great extension!
VS Code version | OS | Extension version |
---|---|---|
1.37.1 | Win 10 x64 pro (french) 18362 | 2.11.0 |
A warning message is displayed in the Code status bar “The key combination…is not a command”
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.