javascript - Kan VS Code kodefullføring konfigureres til å akseptere et forslag ved tegnsetting?
Dette spørsmålet er spesielt rettet mot andre C#-utviklere som går over til TypeScript i VS Code.
Jeg ble forelsket i kodefullføringen i VS C#. For å illustrere, si at jeg prøver å skrive:
console.log('hello')
Ved å bruke C#, ville jeg hatt:
- skriv inn "con"
- en liste over forslag ville vises, sannsynligvis begynner med "console"
- siden det er uthevet og det er det jeg vil, vil det å trykke på " . " skrive ut "sole." så nå har jeg:
console. - skriv «l», «log» er det første forslaget
- skriv "(", nå har jeg:
console.log('') - markøren er nå i ''
- skriv inn "hello"
For øyeblikket, med min VS Code-oppsett, kan det samme oppnås i JS/TS ved å trykke tab hver gang jeg vil godta et forslag. Men bare å trykke på neste punktum for å fortsette var virkelig fint, og, hvis du tilgir meg for å bry meg om det, "gøy." Jeg savner det. Og det finnes ingen teknisk begrensning i språkene jeg kjenner til som ville forhindre denne oppførselen.
Vet noen om det finnes noen utvidelse eller innstilling tilgjengelig for å aktivere dette? Eller ellers, hvor ellers kan denne samtalen finne sted?
Svar #1
Man kan implementere dette selv ved å bruke makroutvidelsen. For å gjøre dette:
Installer makroutvidelsen
Lag en makro som kaller handlingen acceptSelectedSuggestion, og skriv deretter
.. Slik så min Settings.json ut:{ "editor.wordWrap": "on", "window.zoomLevel": 0, "git.enableSmartCommit": true, "macros": { "accept.": [ "acceptSelectedSuggestion", {"command": "type", "args": {"text": "."}} ], "accept(": [ "acceptSelectedSuggestion", {"command": "type", "args": {"text": "("}} ], "accept=": [ "acceptSelectedSuggestion", {"command": "type", "args": {"text": "="}} ] } }La til hver av disse makroene til en hurtigtast i keybindings.json. Mine ekstra hurtigtaster så slik ut:
{ "key": ".", "command": "macros.accept.", "when": "editorTextFocus && suggestWidgetVisible" }, { "key": "shift+9", "command": "macros.accept(", "when": "editorTextFocus && suggestWidgetVisible" }, { "key": "=", "command": "macros.accept=", "when": "editorTextFocus && suggestWidgetVisible" }Dette aktiverer den klassiske VS C# fullføringsadferden for disse 3 spesifikke påfølgende tastene. Eventuelle andre jeg kommer på, kan legges til når jeg husker dem.
Svar #2
Jeg tror ikke du kan legge til . på slutten av console, men du kan gjøre alt annet:
Gå til Fil >> Preferanser >> Tastatursnarveier.
På høyre side av skjermen vil en fil kalt keybindings.json komme opp. Mellom de to parentesene, sett inn dette:
{ "key": ".", "command": "acceptSelectedSuggestion",
"when": "editorTextFocus && suggestWidgetVisible" },
Det burde legge til støtte for alle språk.
