Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengkonfigurasi vscode untuk menunjukkan generik yang tidak perlu (terlalu ditentukan) dalam go?

Bagaimana untuk mengkonfigurasi vscode untuk menunjukkan generik yang tidak perlu (terlalu ditentukan) dalam go?

PHPz
PHPzke hadapan
2024-02-13 10:50:09641semak imbas

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

editor php Baicao memperkenalkan anda cara mengkonfigurasi VSCode untuk memaparkan generik yang tidak diperlukan dalam Go. Dengan pembangunan bahasa Go, generik telah menjadi tumpuan pembangun. Walau bagaimanapun, semasa pengekodan, kadangkala kami terlalu menentukan generik, mengakibatkan kod yang bertele-tele dan sukar untuk dikekalkan. Untuk menyelesaikan masalah ini, VSCode menyediakan beberapa pilihan konfigurasi yang boleh membantu kami memaparkan generik yang tidak diperlukan dalam editor, menjadikan kod lebih ringkas dan boleh dibaca. Perkara berikut akan memperkenalkan anda secara terperinci cara mengkonfigurasi VSCode untuk memaparkan generik yang tidak diperlukan, menjadikan pembangunan Go anda lebih cekap dan mudah.

Kandungan soalan

ada dalam kod di bawah

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)
}

Spesifikasi jenis eksplisit apabila memanggil kaedah ujian adalah tidak perlu dan spesifikasi yang berlebihan. Memanggil test("test", 1") sudah memadai kerana jenis boleh disimpulkan daripada parameter.

Adakah mungkin untuk mengkonfigurasi VSCode untuk menunjukkan ini? Atau adakah terdapat linter yang boleh melaporkan isu ini? Saya entah bagaimana masih ingat melihat VSCode memaparkan spesifikasi jenis yang tidak perlu sebagai teks kelabu, tetapi sama ada saya telah merosakkan konfigurasi saya atau fungsi ini hilang.

Ini sangat membantu untuk kes yang lebih maju, terutamanya memandangkan jenis inferens dalam go semakin bertambah baik dan kod yang ditulis untuk versi go yang lebih lama mungkin dipermudahkan.

Tetapkan mengikut dokumentasi

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

Sepatutnya menghasilkan petunjuk visual jenis yang tidak digunakan. Tetapi itu tidak datang untuk saya.

Penyelesaian

Pada masa ini, penganalisis ini hanya boleh digunakan melalui manipulasi kod dalam parameter jenis yang tidak perlu:

x/tools/gopls: infertypeargs tidak lagi menjana mesej diagnostik #63821 Menjejaki kekurangan mesej diagnostik. Selepas isu ini diselesaikan, mesej diagnostik harus muncul semula dalam Kod VS.

infertypeargs Didayakan secara lalai, jadi tiada konfigurasi diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi vscode untuk menunjukkan generik yang tidak perlu (terlalu ditentukan) dalam go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam