microsoft / microsoft/TypeScript-Sublime-Plugin

Separate TS completion from Sublime completion

Offen
#547 4 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
1.7k
Forks
236
Ø Merge
21 T. 13 Std.
Gemergte PRs (30 T.)
1

Beschreibung

I've been using Sublime/TextMate for many years, and am very accustomed to the way tab completion works in those editors. It will fuzzy search the symbol you're typing against every other symbol in the current document, and cycle through them when you hit <tab>.

For instance, consider that I have some symbol somewhere in the current document: arbitraryFunctionName. Here are some situations where I expect tab completion to work, but it doesn't:

importing

import afn<tab>
import arbitraryFunctionName from './afn<tab>

Commenting

/* This is some documentation for afn<tab>

Creating new objects

const something = {
  afn<tab>

In each of these cases, I'd expect hitting <tab> to replace afn with arbitraryFunctionName; however, when Sublime's syntax is set to TypeScript, it merely inserts spaces.

Is there a way to separate tab completion from TypeScript completion? Perhaps <tab> could work the same way Sublime does in other languages, but <return> could select the given option in TypeScript's suggestions menu, and <esc> could reject them. Or, perhaps TypeScript takes over <tab> and <esc> could adapt Sublime's default tab behavior. (<esc> is the key that TextMate used for this style of completion.)

Is there a way to differentiate between completion powered by TypeScript's language services and Sublime's default algorithm? If not, can there be?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit nachzuverfolgen, wie Sublimes Behandlung der Tab-Taste mit der Completion des TypeScript language-service verbunden ist und wie Return und Escape derzeit behandelt werden. Vergleiche das angeforderte Verhalten für Importe, Kommentare und Objekteigenschaften mit dem bestehenden Completion-Ablauf. Als erledigt gilt die Aufgabe, wenn die beiden Completion-Verhaltensweisen mit klar definierten Ergebnissen für Tab, Return und Escape getrennt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.