


Pemahaman mendalam tentang prinsip pelaksanaan pratonton penurunan harga dalam vscode
Pratonton penurunan nilai
vscode ialah fungsi yang kami gunakan sepanjang hari. Pernahkah anda terfikir tentang cara ia dilaksanakan? Mungkin suatu hari nanti anda akan menerima permintaan untuk pratonton penurunan harga tersuai Apa yang perlu anda lakukan? [Pembelajaran yang disyorkan: "tutorial vscode"]
Malah, idea keseluruhannya agak mudah, iaitu mencipta panel paparan web, menetapkan kandungan kepada HTML yang dijana melalui penurunan nilai dan kemudian ubah suai paparan web secara serentak apabila penurunan harga dikemas kini.
Analisis Idea
Buat paparan web melalui vscode.window.createWebviewPanel, tentukannya untuk dibuka di sebelah, dan kemudian tetapkan html melalui atribut webview.html objek panel.
html dijana melalui kandungan penurunan nilai editor Kandungan editor diperoleh melalui editor.document.getText(), dan kemudian pustaka penukaran html pihak ketiga dipanggil untuk menjananya.
Ini melengkapkan pratonton turun harga.
Selepas pratonton perlu dikemas kini, dengarkan acara vscode.workspace.onDidSaveTextDocument dan vscode.workspace.onDidChangeTextDocument Apabila dokumen dikemas kini dan disimpan, dapatkan kandungan editor, jana semula html. dan kemudian tetapkannya kepada paparan web.
WebviewPanel menyokong webview.postMessage(message); untuk menghantar mesej dan menyokong satu siri arahan seperti updateHTML, yang boleh dicetuskan dengan menghantar mesej.
Tetapi bagaimana anda tahu dokumen yang mengemas kini paparan web mana?
Anda boleh mengekalkan peta dan merekodkannya ke dalam peta semasa membuat webviewPanel Kuncinya ialah laluan fail, supaya apabila mengemas kini, paparan web yang sepadan boleh ditemui dan dikemas kini.
Dengan cara ini, kemas kini kandungan penurunan harga selesai.
Malah, idea keseluruhannya agak mudah Mari kita tulis kod di bawah
Pelaksanaan kod
Mari kita lihat kod vscode-markdown-preview. -pemalam yang dipertingkatkan Ini juga merupakan pemalam untuk pratonton penurunan harga Kod ini agak mudah dan boleh digunakan untuk pembelajaran.
(Kod berikut ialah kod dipermudahkan)
Pertama, pemalam mesti menyatakan syarat pencetus, iaitu, nyatakan activationEvents dalam package.json:
1 2 3 4 |
|
Di sini Satu diaktifkan apabila mengedit kandungan penurunan nilai, dan satu lagi diaktifkan apabila arahan dilaksanakan.
Logik pengaktifan khusus adalah dalam kaedah aktif:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Kami telah mendaftarkan arahan dan melaksanakan arahan itu akan mendapat url editor semasa, dan kemudian pratonton penurunan harga.
Semua logik pratonton ditakrifkan secara berpusat dalam objek contoh MarkdownPreviewEnhancedView, dan initPreivew dilaksanakan apabila arahan dicetuskan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Buat webviewPanel dalam initWebivew dan simpan webviewPanel ke dalam peta Kuncinya ialah laluan fail dokumen. Dapatkan teks editor untuk menjana html dan tetapkannya kepada webview.html, sekali gus melengkapkan pratonton penurunan harga.
Selepas laluan ini dilalui, kami boleh melaksanakan pratonton penurunan harga.
Tetapi hanya pratonton sekali sahaja tidak mencukupi Selepas mengemas kini dokumen, ia perlu dikemas kini secara automatik Kami terus menambah pemantauan acara dalam kaedah aktif:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Apabila memantau pengubahsuaian teks. dan menyimpan, hubungi kaedah kemas kini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Berikut ialah untuk menghantar mesej arahan updateHTML kepada kandungan html melalui webview.postMessage, mencetuskan kemas kini kandungan html.
Dengan cara ini, kami telah mencapai penyegaran segerak penurunan harga.
Ringkasan
Pratonton penurunan harga dalam vscode adalah fungsi yang biasa digunakan tetapi tidak sukar untuk dilaksanakan Kami telah melihat pada kod sumber pemalam vscode-markdown-preview-enhanced dan menjelaskan Proses keseluruhan:
- Buat webviewPanel melalui vscode.window.createWebviewPanel untuk memaparkan html
- html Dapatkan kandungan teks melalui editor.document.getText() dan jananya melalui pakej pihak ketiga. Tetapkannya kepada webviewPanel
- memantau ruang kerja.onDidSaveTextDocument dan ruang kerja.onDidChangeTextDocument untuk mendapatkan kandungan terkini, dan kemudian menjana HTML dan mengemas kininya ke paparan web dengan menghantar mesej udpateHTML melalui webview.postMessage .
- Perlu diambil perhatian bahawa peta perlu direkodkan untuk menyimpan surat-menyurat antara uri.fsPath dan webviewPanel, supaya kandungan teks berubah dan mengemas kini paparan web yang sepadan
Pratonton markdown adalah perkara biasa tetapi Ia bukan satu keperluan yang sukar dan lebih sesuai untuk pembangunan pemalam vscode peringkat permulaan Saya harap artikel ini dapat membantu anda menjelaskan idea anda.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !
Atas ialah kandungan terperinci Pemahaman mendalam tentang prinsip pelaksanaan pratonton penurunan harga dalam vscode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk melihat dokumen perkataan dalam vscode Bagaimana untuk melihat dokumen perkataan dalam vscode

Cara melukis carta alir dengan vscode_Cara melukis carta alir dengan kod visual_studio

Bagaimana untuk menulis Maude dalam Vscode_Bagaimana untuk menulis Maude dalam Vscode

Caltech Cina menggunakan AI untuk menumbangkan bukti matematik! Mempercepatkan 5 kali terkejut Tao Zhexuan, 80% langkah matematik adalah automatik sepenuhnya

Bagaimana untuk membolehkan kemas kini latar belakang dalam vscode Bagaimana untuk membolehkan kemas kini latar belakang dalam vscode

Bagaimana untuk menambah fail ke vscode ruang kerja Bagaimana untuk menambah fail ke vscode ruang kerja

Bagaimana untuk melumpuhkan fail konfigurasi wsl dalam vscode Bagaimana untuk melumpuhkan fail konfigurasi wsl dalam vscode

Bagaimana untuk menetapkan sisipan lancar animasi dalam tutorial VScode VScode untuk menetapkan sisipan lancar animasi
