samuelbrody1249
samuelbrody1249

Reputation: 4767

VS Code autosuggest

VS Code's autocomplete is awesome:

enter image description here

after tabbing:

enter image description here

However, a lot of times I find myself wanting to insert something to the start of a non-blank line. For example, in the following example I have a variable named 'myVar' and I want to insert the log auto-complete:

enter image description here

Now of course one way to solve this is to enter in 'space', 'arrow-left' and then type in the word, but I'm wondering if there's a way to get an auto-complet that will basically ignore any text that is to the right of the cursor.

Upvotes: 0

Views: 593

Answers (2)

Code on the Rocks
Code on the Rocks

Reputation: 17634

In VS Code settings, search for editor.suggest.insertMode and change the value to insert:

enter image description here

Double check that the setting is not "modified elsewhere". If it is, hover over the "Modified elsewhere" text and find where it's different. In my case, the dart language has its own setting for this.

  • The replace option will replace all text touching the word when you accept a suggestion
  • The insert option ignores any text to the right of your cursor

Upvotes: 0

Ernesto
Ernesto

Reputation: 4272

create your own rules and stuff.

at the root of your project create a folder call .vscode inside add a file [WHATEVER-NAME].code-snippets make sure it has the extenssion code-snippets

enter image description here

{
    "clg": {
        "prefix": "clg",
        "body": "console.log(\"$1\", $1);"
    },
    "react": {
        "prefix": "react",
        "body": "import * as React from \"react\";",
    },
    "useEffect": {
        "prefix": "useEffect",
        "body": [
            "React.useEffect(()=> {",
            "$1",
            "},[]);"
        ]
    },
    "useState": {
        "prefix": "useState",
        "body": "const [ $1, $1Set ] = React.useState($2);"
    }
}

unfortunatelly it is imposible to ignore any text after. but for example what I do is I used the snippet from above. when I type clg it becomes console.log('text', text); then I type what ever I want for text and it changes both texts at the same time. you feelme?

for an advanced and customized way go to https://code.visualstudio.com/docs/editor/intellisense#_customizing-intellisense

Upvotes: 1

Related Questions