Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konfiguriere ich vscode so, dass in go unnötige (überspezifizierte) Generika angezeigt werden?

Wie konfiguriere ich vscode so, dass in go unnötige (überspezifizierte) Generika angezeigt werden?

PHPz
PHPznach vorne
2024-02-13 10:50:09641Durchsuche

如何配置 vscode 以显示 go 中不必要的(过度指定的)泛型?

php-Editor Baicao stellt Ihnen vor, wie Sie VSCode so konfigurieren, dass unnötige Generika in Go angezeigt werden. Mit der Entwicklung der Go-Sprache sind Generika in den Fokus der Entwickler gerückt. Beim Codieren kommt es jedoch manchmal vor, dass wir Generika zu sehr spezifizieren, was dazu führt, dass der Code ausführlich und schwer zu pflegen ist. Um dieses Problem zu lösen, bietet VSCode einige Konfigurationsoptionen, die uns dabei helfen können, unnötige Generika im Editor anzuzeigen und so den Code prägnanter und lesbarer zu machen. Im Folgenden erfahren Sie ausführlich, wie Sie VSCode so konfigurieren, dass unnötige Generika angezeigt werden, wodurch Ihre Go-Entwicklung effizienter und bequemer wird.

Der Inhalt der Frage

befindet sich im Code unten

package main

import "fmt"

func test[A, B any](a A, b B) {
    fmt.Printf("a: %v, b: %v", a, b)
}

func main() {
    test[string, int]("test", 1)
}

Eine explizite Typangabe beim Aufruf von Testmethoden ist unnötig und eine Überspezifikation. Der Aufruf von test("test", 1") reicht aus, da der Typ aus den Parametern abgeleitet werden kann.

Ist es möglich, VSCode so zu konfigurieren, dass dies angezeigt wird? Oder gibt es einen Linter, der dieses Problem melden kann? Ich erinnere mich irgendwie daran, dass VSCode unnötige Typspezifikationen als grauen Text angezeigt hat, aber entweder habe ich meine Konfiguration durcheinander gebracht oder diese Funktionalität ist weg.

Dies ist für fortgeschrittenere Fälle sehr hilfreich, insbesondere da die Typinferenz in Go stetig verbessert wird und der für ältere Go-Versionen geschriebene Code möglicherweise vereinfacht wird.

Einstellung gemäß Dokumentation

    "gopls": {
        "ui.diagnostic.analyses": {
            "infertypeargs": true
        }
    }

Sollte zu einer visuellen Anzeige ungenutzter Typen führen. Aber das kam bei mir nicht in Frage.

Problemumgehung

Derzeit kann dieser Analysator nur über Codemanipulation innerhalb unnötiger Typparameter verwendet werden:

x/tools/gopls: infertypeargs generiert keine Diagnosemeldungen mehr #63821 Verfolgen fehlender Diagnosemeldungen. Nachdem dieses Problem behoben ist, sollten die Diagnosemeldungen erneut in VS Code angezeigt werden.

infertypeargs Standardmäßig aktiviert, daher ist keine Konfiguration erforderlich.

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich vscode so, dass in go unnötige (überspezifizierte) Generika angezeigt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen