TypeScript-gränssnitt visar inte sina egenskaper i VS Code hover-widget eller vid ctrl-k-i


När jag skapar någon gränssnitt i VS Code finns det ingen förhandsvisning av några metoder inom gränssnittet. När jag använder en typdeklaration fungerar det som förväntat.

interface SomeInterface {
    someMethod: string
}

let test: SomeInterface = {
    
};

Jag är medveten om (och håller med om) beteendet som beskrivs här, men detta verkar inte fungera för mig.

Jag har försökt skapa en JSDoc-beskrivning ovanför metoden (visade varken beskrivningen eller metoden).

Nuvarande lösningar:

  • håll Alt för att förhandsgranska fullständig deklaration (detta är inte idealiskt eftersom det inte fungerar med Ctrl-k-i snabbkommando som visar popup-fönstret utan att behöva använda musen).
  • Ctrl-Blanksteg när du skapar objekt för att aktivera IntelliSense-förslag.
  • använd peek för att hoppa till gränssnittdeklarationen.

Svar #1

Du kan få en listning av egenskaperna (strukturell vy snarare än nominal vy) om du håller ctrl/cmd medan du hovrar över gränssnittets namn med musen. Observera att det bara kommer att visa egenskaper som är definierade på gränssnittet och inte inkludera egenskaper som är definierade på gränssnitt som det nämnda gränssnittet utvidgar. Om du faktiskt vill få listningen av egenskaper utan att hålla ctrl/cmd, läs vidare...

Detta är ett känt "problem". VS Codes stöd för TypeScript är byggt direkt på TypeScript själv. Se förslagsärendet på TypeScripts GitHub-repo: Intellisense bör visa internals av en gränssnittsdeklaration vid hovring #38040. Här är vad du kan göra under tiden:

  • Ge ärendebiljetten ett tumme upp för att visa stöd för den, och prenumerera på den för att få meddelanden om diskussion och framsteg.
  • Delta konstruktivt i den öppna designdiskussionen. Det pågår fortfarande en öppen designdiskussion om vad som bör göras i icke-triviala fall, såsom gränssnittsförlängning (källa). Läs om den befintliga diskussionen om designbeslut och försök att bidra till den konstruktivt (det inkluderar att ge motiveringar för dina förslag). Men snälla, skriv inte brusiga kommentarer som "+1"/"bump".
  • Du kan gå en extra mil och bidra med en Pull Request som utformar implementeringen av funktionen.

För din referens/lärande syfte, hittade jag det ärende-ticket genom att googla "github vscode issues hover typescript interface show properties".

En annan relaterad ärendeticket: Kunna konfigurera vilken snabbinfo IntelliSense visar vid hovring (t.ex. om den ska expandera) #56010.


VS Code planerar att gå vidare med ett API-förslag som möjliggör för tillägg som tillhandahåller hovrar att ha en "zoom in/out"-funktion, där användaren kan begära en "zoom in" för att hovret ska ge något som mer detaljerad information/verbositet. Se denna kommentar från underhållaren. Detta har nu implementerats genom Pull Request Adding the possibility to enrich hovers with additional data #210472. Nu behöver det inbyggda TypeScript-tillägget använda funktionen. Det finns nu i VS Code 1.96 med typescript.experimental.expandableHover-inställningen

Relaterade artiklar