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

PHPz
Freigeben: 2024-02-13 10:50:09
nach vorne
640 Leute haben es durchsucht

如何配置 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)
}

Nach dem Login kopieren

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
        }
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!