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
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:
Setelah:
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:
Kode VSC:
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:
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:
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:
Anda selalu dapat memotong proyek dan menyesuaikannya jika Anda mau, itu berlisensi MIT :)
Pokoknya ini bug:
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?
Bug lain:
@
berwarna abu-abu@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.
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 :)