Vscode-theme-onedark: Perbaiki tema untuk pelingkupan baru di VSCode 1.9

Dibuat pada 3 Feb 2017  ·  17Komentar  ·  Sumber: akamud/vscode-theme-onedark

VSCode 1.9 benar-benar mengubah cara menangani cakupan tmTheme untuk pewarnaan.

Seluruh tema rusak saat ini dan perlu dilakukan kembali dari nol.

Informasi lebih lanjut: https://github.com/Microsoft/vscode/issues/18357

new-version-broken

Komentar yang paling membantu

Bagi siapa pun yang menunggu, saya yakin versi 1.1.0 sekarang memiliki warna yang sama seperti sebelum versi 1.9. Anda hanya dapat memperbarui di VSCode Marketplace.

Beberapa bahasa ditingkatkan dengan cakupan baru, seperti Ruby dan JS/TS tetapi jika Anda menemukan inkonsistensi, khususnya yang tidak ada sebelum 1.9, harap laporkan.

Saya percaya satu-satunya bahasa yang hilang sekarang adalah bahasa yang bergantung pada plugin di VSCode yang saya dukung sebelum 1.9, seperti Rust. Saya akan mengerjakannya selama seminggu dan menutup masalah ini ketika mereka dirilis.

Terima kasih atas kesabarannya :)

Semua 17 komentar

Saya akan mengerjakan ini secepatnya. Pegang erat-erat semuanya dan maaf atas ketidaknyamanannya :(

Saya baru saja merilis versi 1.0.0, itu membawa dukungan minimal untuk versi 1.9.

Beberapa bahasa tidak memiliki dukungan yang baik dalam Kode VS dan tidak memungkinkan pewarnaan yang baik (misalnya Java).

Saya masih memiliki banyak pekerjaan di depan saya. Saya percaya saya dapat mencapai dukungan yang sama yang saya miliki sebelum 1.9, beberapa bahasa (misalnya Python) saat ini masih sangat buruk dibandingkan dengan versi terakhir. Saya minta maaf tentang itu, saya sedang mengerjakannya.

Saya akan memperbarui masalah ini saat saya membuat kemajuan.

Bagi siapa pun yang menunggu, saya yakin versi 1.1.0 sekarang memiliki warna yang sama seperti sebelum versi 1.9. Anda hanya dapat memperbarui di VSCode Marketplace.

Beberapa bahasa ditingkatkan dengan cakupan baru, seperti Ruby dan JS/TS tetapi jika Anda menemukan inkonsistensi, khususnya yang tidak ada sebelum 1.9, harap laporkan.

Saya percaya satu-satunya bahasa yang hilang sekarang adalah bahasa yang bergantung pada plugin di VSCode yang saya dukung sebelum 1.9, seperti Rust. Saya akan mengerjakannya selama seminggu dan menutup masalah ini ketika mereka dirilis.

Terima kasih atas kesabarannya :)

Saya menemukan ketidakkonsistenan berikut.

Bahasa: JavaScript

Sebelum:
screen shot 2017-02-07 at 7 33 48 pm

Setelah:
screen shot 2017-02-07 at 7 34 08 pm

Masalahnya tampaknya dengan tanda kurung dan kode di dalamnya.

Contoh kodenya adalah

export default class Definition {
    constructor(def) {
        if (invalidParams(def)) {
            throw new Error('Invalid arguments provided to Lang constructor');
        }

        this.__def = def instanceof Map ? def : new Map(def);
    }

    clone = () => new Definition(new Map(this.__def));

    extend = (def) => {
        if (invalidParams(def)) {
            throw new Error(`extend requires Map`);
        }

        const extendedLang = new Map(this.__def);

        for (const [key, value] of def) {
            extendedLang.set(key, value);
        }

        return new Definition(extendedLang);
    }
}

Terima kasih telah melaporkan!

Saya akan melihat ini malam ini dan menghubungi Anda kembali.

Tetap. Saya akan menahan sampai saya menyelesaikan pekerjaan yang tersisa sehingga saya tidak membanjiri pengguna dengan versi baru setiap hari (menerima beberapa keluhan tentang itu di masa lalu). Ini akan dirilis dalam versi 1.2.0 .

Untuk perbandingan,

Atom:
screen shot 2017-02-07 at 23 35 12

Kode VSC:
screen shot 2017-02-07 at 23 35 56

Sayangnya, kata kunci constructor tidak dapat dipilih tanpa mengubah warna banyak item lainnya bersama-sama... Deklarasi const di JS juga memiliki masalah yang sama, tidak ada ruang lingkup unik untuk mereka. Jika VSCode pernah meningkatkan itu, saya akan memperbarui untuk memperbaikinya.

Sekali lagi terima kasih telah berkontribusi :)

Terima kasih untuk perputaran cepat!

Satu pertanyaan meskipun: Deklarasi const bekerja dengan benar sebelum 1.9 dan juga jika Anda melihat, deklarasi const di for loop bekerja dengan benar. Jadi mengapa tidak yang di atasnya?

[key, value] di dalam for loop adalah deklarasi variabel array , jadi VSCode menyediakan cakupan unik untuk mereka, yang saya gunakan.

Konst extendedLang terdeteksi sebagai variabel reguler. Seperti terlihat pada gambar di bawah ini:

screen shot 2017-02-07 at 23 48 59

Itu adalah ruang lingkup paling spesifik yang dimilikinya. Dan seperti yang Anda lihat, tidak ada cakupan lain yang mendeteksinya sebagai deklarasi const . Jadi jika saya mewarnainya sekarang, setiap variabel akan berwarna merah juga.
Ketika saya memukul konflik ini saya harus membuat pilihan, jadi biasanya lingkup yang paling umum atau warna yang lebih mudah di mata menang. Dalam hal ini, variabel jauh lebih umum dan membuatnya menjadi merah agar sesuai dengan konstanta akan menyebabkan lebih banyak perbedaan dari tema asli Atom.

Mengenai mengapa ini berhasil sebelumnya, VSCode sekarang memperlihatkan cakupan yang sama sekali berbeda dari versi sebelumnya, mungkin saya punya cara untuk membedakan deklarasi variabel dari consts dalam kasus ini.

Anda dapat melihat konstanta dan variabel sekarang memiliki cakupan yang sama persis:
screen shot 2017-02-07 at 23 56 35

Atom memperlihatkan lingkup constant.other.js sehingga dapat memberikan pewarnaan khusus.

Terima kasih untuk penjelasan rinci!

Bisakah Anda membuat opsi untuk mewarnai semua jenis variabel secara konsisten? (berwarna merah saya kira)

Saya mencoba mengikuti tema Atom sedekat mungkin. Atom tidak mewarnai variabel ( var atau let ), mereka berwarna abu-abu. Jadi saya akan tetap seperti itu.

Atom:
screen shot 2017-02-09 at 00 09 26

Anda selalu dapat memotong proyek dan menyesuaikannya jika Anda mau, itu berlisensi MIT :)

Pokoknya ini bug:
image
kode:

import * as styles from './mission.scss';

export default function MissionIcon({ key, title }) {
    return <i class={classnames(
        styles['mission__icon'],
        {
            [styles['mission__icon-letter']]: title.match(A_HEBREW_LETTER),
            [styles['mission__icon-first']]: !key,
        }
    )}>{title}</i>;
}

Terima kasih!

Bisakah Anda memberikan sedikit informasi lebih lanjut? Apakah ini file JS atau TS? Apakah ini Bereaksi?

image
Bug lain:

  • kurung kurawal dan titik koma berwarna kuning
  • dekorator @ berwarna abu-abu
  • Pewarnaan variabel yang tidak konsisten (atau apakah itu dimaksudkan karena mereka "menjadi" kunci?)
    kode:
@connect(
    ({ artists }) => ({ artists }),
    dispatch => bindActionCreators({ getArtists, getArtist, addArtist, editArtist, removeArtist }, dispatch)
)
export default class AdminArtists extends Component {

    componentWillMount = () => {
        this.props.getArtists();
    }

    render = () => {
        console.log(this.props.artists);
        return <div>

        </div>;
    }
}

@akamud Ini JS React

Saya akan membuat masalah baru untuk melacak masalah JS React ini.

Silakan gunakan #36 untuk mengikuti diskusi ini.

Versi 1.2.0 sekarang memiliki dukungan plugin yang sama seperti sebelumnya.

Jika Anda menemukan inkonsistensi lainnya, silakan buat masalah baru.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat