Vscode: [php] Menyediakan html intellisense

Dibuat pada 25 Nov 2015  ·  234Komentar  ·  Sumber: microsoft/vscode

Di file PHP tidak ada tag html auto complete, silahkan tambahkan.


EDIT 13/9/2018 @egamma : VS Code hanya menyediakan dukungan dasar untuk PHP, tetapi ada ekstensi PHP yang kuat yang tersedia di pasar:

Fitur ini harus disediakan oleh ekstensi ini (Intelephence sebenarnya sudah mendukungnya). Silakan coba ekstensi ini dan bantu untuk membuatnya lebih baik dengan mengajukan masalah dan permintaan penarikan.

Masalah ini telah kehilangan fokus dan berubah menjadi diskusi apakah VS Code harus menyediakan dukungan PHP di luar kotak. Namun, seperti banyak bahasa lain seperti C #, C ++, Go, Python, Rust kami tidak ingin memaketkan PHP dengan VS Code melainkan mengandalkan ekosistem ekstensi kami yang hebat. Oleh karena itu, saya menutup masalah ini.

feature-request help wanted languages-basic php

Komentar yang paling membantu

Saya tidak dapat membantu, tetapi +1000 lagi dari saya. HTML / CSS / JS di PHP biasa digunakan sebagai file campuran. Saya sudah mencoba Visual Studio + VS.php penuh - juga tidak didukung. Saya terus bertanya-tanya mengapa ini diabaikan di setiap alat pengembangan Microsoft yang seharusnya mendukung PHP. Ya, dukungan PHP ada, tetapi tidak berguna jika kita tidak memiliki IntelliSense (pelengkapan kode & saran kode) untuk HTML / CSS / JS juga.

Hal yang sama berlaku untuk blok JS & CSS sebaris dalam HTML.
Jika saya mendefinisikan di settings.json:
"files.associations": {"*.php": "html"},
... daripada PHP IntelliSense (jelas) tidak berfungsi, dan HTML mulai bekerja. Tetapi inline-CSS dengan menggunakan style=" ...something... "; tidak menawarkan properti CSS apa pun saat menulis di antara tanda kutip atribut gaya.
Demikian juga, jika saya memulai blok <script> , Anda tidak akan mendapatkan IntelliSense untuk JS, saat membuka file .js bereaksi secara normal.

Saya mendukung saran yang (jika lebih mudah):

  • <?php ... ?> harus memulai PHP IntelliSense
  • di luar <?php ... ?> harus memulai HTML IntelliSense
    tetapi juga
  • di dalam <style> ... </style> dan style=" .... " harus memulai CSS IntelliSense
  • di dalam <script ... > dan <script> ... </script> harus memulai JS IntelliSense

Juga, jika memungkinkan, saran oleh @TheColorRed harus dipertimbangkan, artinya jika Anda ada di dalamnya
<?php ... ?> tetapi menulis string misalnya $string="..." daripada harus mempertimbangkan mengubah HTML IntelliSense juga. Masalahnya, pengembang PHP sering menggunakan sesuatu seperti:
<?php
$something="test";
echo "<div><a href="http://sample.com">This is a ".$something."</a></div>";
$continue = "coding here ... etc";
?>
.. untuk menghindari melakukan blok dengan membuka / menutup tag php sepanjang waktu, seperti:
<?php
$something="test"; ?>
<div>
<a href="http://sample.com">This is a <?php echo $something; ?></a>
</div>
<?php
$continue = "coding here ... etc";
?>

Juga @egamma , meskipun kami tidak bermaksud untuk terdengar tidak berterima kasih atau malas, komentar sombong juga tidak banyak membantu, jika salah satu dari kami kompeten dan cukup berpengetahuan untuk membuat kode sendiri - saya yakin kami akan melakukannya. Sayangnya - Saya bukan: - / Tetapi jika saya dapat membantu dengan cara lain, saya akan senang untuk melakukannya (tidak hanya dengan berkomentar dengan saran, tetapi pengujian, atau apa pun).

Saya berharap ada konsensus bahwa fitur ini harus ada, dan dukungan PHP saat ini tanpanya hanyalah sebagian dukungan untuk sebagian besar pengembang PHP.

PS Dan sekali lagi, tidak terdengar sebagai seorang kritikus - Saya sangat menyukai VS Code sejauh ini, dan saya sangat berterima kasih kepada semua orang yang telah berkontribusi dan terus berkontribusi pada proyek yang luar biasa ini!

EDIT:
Apakah hanya menyertakan / mereferensikan satu file .ts ke pekerjaan lain?
Misalnya di /languages/php/common/php.ts
termasuk: /languages/html/common/html.ts
termasuk: /languages/css/common/css.ts
termasuk: ...

Meskipun mungkin ada beberapa tumpang tindih dengan nama tag / atribut / fungsi, tidak ada yang terlintas dalam pikiran saya saat ini ... Dan untuk IntelliSense itu bukan masalah, saya pikir masing-masing akan memiliki ikon yang berbeda, hanya kode warna yang dapat dikacaukan dalam kasus seperti itu ... Apakah saya melewatkan sesuatu yang lain?

Semua 234 komentar

Kedengarannya masuk akal. Penyedia intellisense tag HTML berada di sini , mungkin hanya masalah mengaitkan modul itu ke kode PHP. Juga mengasuransikan mereka hanya tersedia ketika di luar <?php tag, jika saya ingat bagaimana PHP bekerja dengan benar.

@Tyriar di luar <?php tag artinya apa? Apakah mereka tersedia saat berada di luar tag <?php ?> dalam file PHP?

Di luar <?php ?> adalah HTML, di dalamnya adalah PHP. Jadi pelengkapan otomatis HTML seharusnya hanya tersedia di luar tag <?php ?> .

@Tyriar Tapi sekarang mereka tidak tersedia di luar tag <?php ?> di .php file, mungkin mereka hanya tersedia di .html file.

Tolong tambahkan fitur ini dengan cepat, saya rasa ini fitur dasar, terima kasih teman-teman.

@osjn terima kasih telah membantu kami dengan memprioritaskan dengan berkomentar. Cara yang lebih baik untuk membantu kami adalah Permintaan Tarik dengan penerapan.

Mungkin hanya saya, tapi saya pikir akan keren jika intellisense juga tersedia di dalam string php.

Suara positif dari saya juga. Mohon fitur ini diperlukan.

Hampir setiap pengembang PHP akan membutuhkan fitur ini untuk memilih VSCode sebagai editor utama mereka.

Kami perlu menyelesaikan masalah ini untuk menargetkan lebih banyak pengembang.

Kemarin saya mencoba membenturkan kepala saya terhadap masalah ini tetapi sayangnya kurangnya keterampilan TypeScript saya menahan saya untuk membantu Anda dalam masalah ini.

Saya perlu ini!

Sama. Cukup +1000

Saya tidak dapat membantu, tetapi +1000 lagi dari saya. HTML / CSS / JS di PHP biasa digunakan sebagai file campuran. Saya sudah mencoba Visual Studio + VS.php penuh - juga tidak didukung. Saya terus bertanya-tanya mengapa ini diabaikan di setiap alat pengembangan Microsoft yang seharusnya mendukung PHP. Ya, dukungan PHP ada, tetapi tidak berguna jika kita tidak memiliki IntelliSense (pelengkapan kode & saran kode) untuk HTML / CSS / JS juga.

Hal yang sama berlaku untuk blok JS & CSS sebaris dalam HTML.
Jika saya mendefinisikan di settings.json:
"files.associations": {"*.php": "html"},
... daripada PHP IntelliSense (jelas) tidak berfungsi, dan HTML mulai bekerja. Tetapi inline-CSS dengan menggunakan style=" ...something... "; tidak menawarkan properti CSS apa pun saat menulis di antara tanda kutip atribut gaya.
Demikian juga, jika saya memulai blok <script> , Anda tidak akan mendapatkan IntelliSense untuk JS, saat membuka file .js bereaksi secara normal.

Saya mendukung saran yang (jika lebih mudah):

  • <?php ... ?> harus memulai PHP IntelliSense
  • di luar <?php ... ?> harus memulai HTML IntelliSense
    tetapi juga
  • di dalam <style> ... </style> dan style=" .... " harus memulai CSS IntelliSense
  • di dalam <script ... > dan <script> ... </script> harus memulai JS IntelliSense

Juga, jika memungkinkan, saran oleh @TheColorRed harus dipertimbangkan, artinya jika Anda ada di dalamnya
<?php ... ?> tetapi menulis string misalnya $string="..." daripada harus mempertimbangkan mengubah HTML IntelliSense juga. Masalahnya, pengembang PHP sering menggunakan sesuatu seperti:
<?php
$something="test";
echo "<div><a href="http://sample.com">This is a ".$something."</a></div>";
$continue = "coding here ... etc";
?>
.. untuk menghindari melakukan blok dengan membuka / menutup tag php sepanjang waktu, seperti:
<?php
$something="test"; ?>
<div>
<a href="http://sample.com">This is a <?php echo $something; ?></a>
</div>
<?php
$continue = "coding here ... etc";
?>

Juga @egamma , meskipun kami tidak bermaksud untuk terdengar tidak berterima kasih atau malas, komentar sombong juga tidak banyak membantu, jika salah satu dari kami kompeten dan cukup berpengetahuan untuk membuat kode sendiri - saya yakin kami akan melakukannya. Sayangnya - Saya bukan: - / Tetapi jika saya dapat membantu dengan cara lain, saya akan senang untuk melakukannya (tidak hanya dengan berkomentar dengan saran, tetapi pengujian, atau apa pun).

Saya berharap ada konsensus bahwa fitur ini harus ada, dan dukungan PHP saat ini tanpanya hanyalah sebagian dukungan untuk sebagian besar pengembang PHP.

PS Dan sekali lagi, tidak terdengar sebagai seorang kritikus - Saya sangat menyukai VS Code sejauh ini, dan saya sangat berterima kasih kepada semua orang yang telah berkontribusi dan terus berkontribusi pada proyek yang luar biasa ini!

EDIT:
Apakah hanya menyertakan / mereferensikan satu file .ts ke pekerjaan lain?
Misalnya di /languages/php/common/php.ts
termasuk: /languages/html/common/html.ts
termasuk: /languages/css/common/css.ts
termasuk: ...

Meskipun mungkin ada beberapa tumpang tindih dengan nama tag / atribut / fungsi, tidak ada yang terlintas dalam pikiran saya saat ini ... Dan untuk IntelliSense itu bukan masalah, saya pikir masing-masing akan memiliki ikon yang berbeda, hanya kode warna yang dapat dikacaukan dalam kasus seperti itu ... Apakah saya melewatkan sesuatu yang lain?

jika ini tidak ditambah, maka saya harus beralih editor, sekarang saya menggunakan 2 editor ...

Tolong, bagaimana saya bisa menonaktifkan de HTML IntelliSense ketika saya bekerja dengan PHP?

Opsi ini adalah mimpi buruk, karena saya tidak dapat membuat tab di variabel karena secara otomatis membuat tag XML / HTML.

Saya tidak mencampur kode PHP saya dengan HTML, dan saya tidak akan pernah membuat kesalahan ini, setidaknya tambahkan opsi untuk menonaktifkannya dalam "mode" PHP.

Untuk PHP, Anda harus mencoba crane intellisense https://marketplace.visualstudio.com/items?itemName=HvyIndustries.crane

@TheColorRed Crane Intellisense mengalami masalah. Sejauh ini ekstensi VS Code PHP yang paling populer, jadi saya rasa ini adalah apa yang kebanyakan orang melaporkan masalah mereka.

sama di sini, kita membutuhkan pelengkapan otomatis untuk CSS / JS dalam HTML. Jika tidak, beralih ke Monaco bukanlah pilihan nyata :-)

Saya baru saja mencoba vscode tetapi kekurangan fitur ini, hentikan saya menggunakan IDE ini. Harap berikan fitur ini karena ini adalah fitur yang harus dimiliki untuk setiap IDE.
Terima kasih sebelumnya.

Ini sangat dibutuhkan. Sangat menjengkelkan tidak mendapatkan kecerdasan yang tepat saat meletakkan kode php di dalam file html, atau meletakkan html di file php.

Satu fitur besar yang saya lewatkan dan itu mencegah saya dan kolega untuk menggunakan vsCode sebagai editor utama.

Ini adalah pembunuh kesepakatan bagi saya tanpa fitur yang sangat umum ini. Malu sekali ... SAYA SANGAT, SANGAT, SANGAT suka IDE ini. Jika ini ditambahkan, saya akan sangat senang.

@egamma Saya akan segera mengirimkan PR, setelah saya menghabiskan waktu yang tidak perlu mencoba menemukan kode untuk dimodifikasi karena Anda memutuskan untuk menjadi pasif agresif dan sarkastik daripada menawarkan sedikit arahan kepada mereka yang mungkin bisa untuk membantu.

@TechnikEmpire tolong jangan terlalu banyak membaca komentar yang saya buat pada Desember 2015, saat kami memulihkan diri dari rilis besar VS Code November. Mohon maaf jika komentar ini datang sebagai sarkastik.

Ada beberapa kemajuan bagus terkait Intellisense untuk PHP. Jika Anda ingin berkontribusi, saya sarankan untuk melihat kontribusi ke proyek php-language-server yang sedang dikerjakan @felixfbecker . Felix juga penulis php-debugger . Ini adalah repositori terkait:

Informasi lebih lanjut tentang pendekatan server bahasa dan protokol server bahasa dapat ditemukan di sini.

@egamma Tetapi adakah cara server bahasa PHP dapat "mendelegasikan" ke server bahasa HTML VS Code? Sepertinya https://github.com/Microsoft/vscode/issues/1751 akan mencakup ini

@felixfbecker sekarang setelah kita mengekstrak server bahasa HTML, skenario pertama yang ingin kita selidiki adalah bagaimana mengintegrasikannya dengan server bahasa CSS sehingga kita dapat menyediakan Intellisense di bagian CSS. Ini sesuai dengan skenario pertama yang Anda sebutkan di # 1751 dan yang juga diminta di # 8928.

Pekerjaan ini tidak dilakukan untuk bulan September dan sekarang direncanakan untuk bulan Oktober.

Terima kasih! Dukungan CSS di dalam pekerjaan HTML direncanakan pada Oktober, bagaimana dengan dukungan JS alias <script> ?

@egamma apakah ada perubahan atau peningkatan? Pertengahan oktober berlalu, jadi baru mau cek ulang. sejauh ini, setelah 5 bulan saya masih belum menggunakan VS Code sebagai editor utama saya karena masalah tersebut, dan saya yakin ada ratusan jiwa pendiam di luar sana. saya senang ada beberapa pekerjaan dengan pencampuran HTML / CSS, tetapi kami benar-benar membutuhkan dukungan HTML + CSS + JS + PHP yang lengkap ...

@luxzg HTML + CSS kemajuan sesuai rencana bulan Oktober, HTML + CSS + JS adalah peregangan. Ikuti kemajuan kami di sini: https://github.com/Microsoft/vscode/projects/2

Bagi saya, PowerShell inliners dalam beberapa jenis file devops mengedit fitur ini juga banyak membantu. Mungkinkah seseorang memiliki ekstensi yang secara otomatis mengubah sintaks ketika kursor berada di beberapa blok kode?

FWIW plugin "HTML Snippets"

@ matthewringer plugin tidak berfungsi untuk saya

Ini juga menjadi masalah bagi saya .. apakah belum ada pergerakan tentang ini?

Semoga ini akan segera ditambahkan. Tanpa ini saya ragu pengembang php mana pun akan menggunakannya.

Sublime membuat saya gatal buruk untuk kembali (TM). VSCode jika Anda Mencintaiku daripada menyelamatkan jiwa saya dan tambahkan dukungan HTML CSS & JS.

Sudah lebih dari setahun dan MASIH tidak ada dukungan untuk ini? Betulkah? ... dan di sini saya pikir MS akhirnya membuat produk yang bukan sampah.

Ini adalah satu-satunya fitur, yang bagi saya, membuat PHPStorm, jauh lebih baik dari apa pun yang pernah saya coba. Jika mereka akhirnya dapat menerapkan dukungan penyorotan intellisense / sintaks yang tepat untuk PHP dengan HTML, CSS, Javascript, maka akhirnya kita dapat memiliki editor PHP ringan yang sangat bagus.

Ini cara menjengkelkan sekarang untuk mengetik dalam HTML atau CSS atau Javascript dan mendapatkan penyelesaian PHP di mana-mana. Anda mungkin juga menggunakan editor lain tanpa pelengkapan otomatis.

Tidaklah sulit untuk hanya mengklasifikasikan file .php sebagai HTML dan kemudian hanya mengurai apa yang ada di dalam tag <?php ?> sebagai kode PHP, bukan?

+1 dari saya, tolong gabungkan :)

Saya baru saja mulai menggunakan VScode sambil belajar pemrograman dan itu sangat hebat - menyukai kecepatan, kesempurnaan, dan kegunaan - hal-hal ajaib. Baru hari ini menyadari bahwa itu tidak mengambil HTML dalam file PHP (layu di dalam atau tanpa tag PHP) yang membuat pencocokan tag HTML cukup sulit. Saya harus beralih ke editor lain yang tidak ideal.

Maaf, saya tidak cukup berpengalaman untuk mencoba menambahkan ini dari jarak jauh / memperbaiki ini sendiri tetapi akan sangat menghargai jika seseorang di Microsoft dapat menambahkannya. Saya secara rutin menyematkan kode HTML, Javascript, CSS, dan SQL dalam file PHP saya. Akan lebih bagus lagi jika semuanya bisa dideteksi seperti di editor lain, meskipun saya yakin tidak sepele untuk menambahkan fungsi ini. Benar-benar benci harus meninggalkan VScode bersama-sama karena itu membuat pengalaman belajar menjadi menyenangkan.

@egamma @aeschli ini telah berlangsung cukup lama - Anda menyebutkan bahwa Anda ingin menyelesaikan masalah ini dengan server bahasa HTML dan CSS, apakah sudah selesai? Saya pikir apa yang terjadi adalah kemampuan server bahasa untuk menentukan rentang tertentu dalam dokumen di mana semua fitur bahasa harus ditangani oleh server bahasa yang berbeda. Jadi PHP LS dapat setelah mengurai dokumen menyatakan rentang mana yang HTML, LS HTML dapat menyatakan bagian mana yang JS atau CSS, TS / JS LS dapat mendeklarasikan bagian mana yang SQL atau GraphQL.

@felixfbecker ya dukungan ini tersedia sejak beberapa pencapaian, mohon lihat

image

Server bahasa html dapat ditemukan di sini https://github.com/Microsoft/vscode-html-languageservice.

Pendekatan ini telah ditiru untuk dukungan bahasa vue https://github.com/octref/vetur

// fyi @aeschli

@egamma Jadi bagaimana cara menyerahkan penyelesaian ke server bahasa yang berbeda? Apakah ada dokumentasi tentang ini? Saya berasumsi ini akan mengambil ekstensi LSP

tinggalkan ini di sini

@felixfbecker Saat ini kami tidak memiliki dokumentasi lain kecuali kode, maaf. Saya menyarankan agar Anda terhubung dengan @aeschli untuk menyelam lebih dalam ketika Anda ingin mulai menambahkan dukungan ini untuk php.

@bayu_joo

Sepertinya belum ada cara umum untuk melakukan injeksi bahasa, tetapi implementasi ekstensi html cukup mudah.

Saya pikir sekarang ini mencapai jalan tengah yang baik: VSCode menawarkan paket LS html / css untuk mengurangi penerapan dukungan bahasa tertanam. Sementara itu menjaga fleksibilitas sehingga setiap LS dapat bereaksi berbeda sesuai konteksnya.

Maksud saya, ekstensi html dapat mengunduh jquery.d.ts ketika tag skrip dengan jquery disertakan (tidak berlaku untuk vue), atau ekstensi vue menandai setiap file .vue sebagai komponen untuk melakukan resolusi modul (tidak akan berlaku untuk html).

Mengutip @aeschli : https://github.com/Microsoft/vscode/issues/12354#issuecomment -257242426

Ada beberapa bug yang ingin kami berikan solusi umum untuk konten yang disematkan, tetapi menurut saya kami tidak akan berhasil. Ada perbedaan kecil dalam setiap kasus yang menurut kami lebih baik menerapkan penerapan spesifik dari setiap bahasa host untuk pengalaman pengguna terbaik.

Tapi saya setuju doc ​​untuk mengimplementasikan dukungan bahasa tertanam kurang. Kira saya akan melakukan beberapa artikel setelah saya menyelesaikan semua fitur utama untuk ekstensi vue saya.

Ini sangat disayangkan. Bisakah kita menambahkan kemampuan ini ke LSP? Server bahasa adalah yang mem-parsing dokumen menjadi AST, jadi hanya server bahasa yang memiliki pengetahuan tentang bagian mana dari dokumen yang ditulis dalam bahasa berbeda dan harus diserahkan. Jadi sekarang ekstensi _also_ perlu mengurai dokumen? Itu dalam banyak kasus bahkan tidak mungkin karena parser bergantung pada runtime yang berbeda dari Node (PHP, Java, ...).

Saya tidak membayangkan menambahkan ini ke LSP akan sesulit itu, misalnya server hanya dapat mengirim pemberitahuan untuk URI dengan larik rentang + mode bahasa. Dari editor mana pun (bukan hanya VS Code) dapat menggunakan server bahasa yang berbeda untuk rentang itu.

@egamma Saya tidak dapat menemukan kode di repositori yang tidak menggunakan bahasa, dapatkah Anda memberikan petunjuk yang lebih spesifik? Maaf jika saya melewatkan ini.

@felixfbecker Erich maksudnya: penyematan layanan bahasa yang berbeda dilakukan di dalam _server_.
Misalnya, Anda dapat melihatnya di dependensi server html.
Dengan cara itu server dapat berdiri sendiri dan memiliki kontrol penuh untuk mengkonfigurasi konteks bahasa yang disematkan (pustaka JavaScript tersedia dalam konten yang disematkan, versi bahasa (ES5, ES6 ..)).

Di situlah solusi yang Anda uraikan (komunikasi antar server bahasa) mulai bermasalah. Ini kemungkinan mengarah ke API khusus server bahasa dan ketergantungan antar server.
Kami ingin menjaga kopling tetap rendah dan ekstensi bahasa dapat diganti.

Meskipun demikian, setiap server bahasa bebas memilih pendekatannya. Anda dapat menggunakan pesan LS khusus untuk melakukan ini. Begitulah cara kami menerapkannya pada rilis November. Server mengirim permintaan kembali ke klien , klien meminta ekstensi lain berdasarkan dokumen virtual yang hanya berisi konten bahasa tertanam.

Saya sarankan kita melanjutkan diskusi masalah yang terpisah. Mungkin mengajukan masalah baru dengan saran yang Anda miliki tentang cara memperpanjang LSP?

Juga ikut campur di sini. Mencintai VS Code sejauh ini, namun tidak adanya persaingan tag HTML di dalam PHP adalah pemecah masalah nyata. Untuk sementara saya beralih ke mode bahasa HTML untuk file PHP, tetapi tidak tahu bagaimana ini akan berhasil pada akhirnya.

Jatuh cinta dengan VSCode sampai saya menemukan itu kekurangan fitur yang agak mendasar ini. Kembali ke luhur untuk saat ini.

Fitur yang satu ini membuat saya tidak dapat beralih ke VSCode.

Ini adalah fitur yang sangat dibutuhkan. +99999

Fitur dasar yang ada di semua editor lain: |

Unfollow

Adakah pembaruan tentang kapan kita dapat mengharapkan ini?

Ini dalam pikiran saya akan terkait langsung dengan # 765.

: +1: Editor yang sangat bagus dan tidak memiliki fungsi yang sederhana :(

Saya membayangkan jika ini belum ditutup secara langsung, itu berpotensi diperbaiki suatu hari nanti. Saya berharap begitu - lebih cepat lebih baik.

Satu-satunya hal yang menghalangi saya untuk beralih ke VSCode dari Atom adalah kurangnya fitur penting ini :(

Jadi, adakah yang bisa menyarankan editor alternatif untuk web full-stack PHP / HTML / JS? Sangat menyukai VSCode, tetapi kurangnya fitur ini hanyalah pemblokir bagi saya. Apakah PHPStorm atau WebStorm bagus?

Sebagai pengelola PHP IntelliSense, thread ini adalah mimpi buruk untuk berlangganan. Jika Anda ingin memberi masalah +1, beri acungan jempol. Semua komentar +1 ini hanya mengacaukan utas dan pengelola spam dengan pemberitahuan tanpa menambah nilai apa pun pada diskusi. Dan untuk semua orang yang mengatakan "ini adalah fitur yang sangat sederhana": sebenarnya tidak. Tetapi jika Anda berpikir demikian, silakan lakukan PR.

@felixfbecker saya pikir ini menyoroti betapa frustrasinya orang dengan masalah ini. Ini bukanlah fitur yang sederhana; Saya setuju itu rumit untuk diterapkan, tetapi lebih banyak orang yang mengharapkan fitur semacam ini dengan editor teks, dan seperti saya setelah jatuh cinta dengan VScode, cukup terkejut bahwa itu hilang.

Ini tentang kurangnya peta jalan dari masalah yang begitu penting. Sederhana atau tidak, ini adalah fitur yang diperlukan untuk lingkungan pengembang pada tahun 2017. Perbaikan super sederhana akan memungkinkan kita menandai bagian dengan komentar atau kata kunci lain untuk menentukan kecerdasan mana yang kita inginkan. Hal blok kode GitHub, bungkus bagian teks dalam tag.

Meskipun agak menjengkelkan mendengar semua rengekan, dan saya telah menjadi salah satunya
berpadu dalam masalah ini, penting untuk mendengarnya.

Tidak masalah jika ada sesuatu yang open source, Anda tetap terlibat di dalamnya
mengirimkan produk ke konsumen dan ketika itu payah, orang-orang akan melakukannya
mengeluh. Ketika dealer mobil saya melakukan pencucian gratis dengan layanan tahunan saya
dan upah minimum mesin cuci mobil meninggalkan goresan di seluruh mobil saya, saya akan pergi
Mengeluh.

Gratis atau tidak, ada investasi di pihak pengguna untuk memodifikasi
alur kerja dengan editor baru. Orang-orang melakukan ini hanya untuk mengetahuinya
mereka membuang-buang waktu dan mungkin juga tetap menggunakan notepad. Orang bisa
berhenti berlangganan jika mereka tidak ingin mendengar tanggapan negatif, tetapi ya
penting bahwa Microsoft mendengar keluhan ini. Bagaimanapun, mereka
berinvestasi secara signifikan untuk memproduksi produk ini dan apa itu
mendapatkan kembali uang mereka? Orang-orang dengan satu alasan lagi untuk mengutuk mereka
perusahaan dan tidak menggunakan produk yang telah mereka bayar.

Sejauh permintaan tarik, orang sudah kesal dengan waktu mereka
investasi hanya untuk mengalihkan alur kerja dan alat telah terbuang percuma. Ada
sedikit atau tidak ada wawasan tentang di mana harus mulai membuat waktu tambahan
investasi bahkan jika mereka merasa berpotensi membuang lebih banyak waktu. Ini
bukanlah fitur yang rumit di atas kertas, jadi jika dalam praktiknya mungkin
ada kekurangan parah dalam desain aplikasi. saya hanya bisa
berspekulasi, seperti yang bisa dilakukan orang lain, karena kita tidak dibayar oleh seseorang
untuk mempelajari basis kode ini.

Pada Rabu, 29 Mar 2017 jam 9:37 Stephen Eckels [email protected]
menulis:

Ini tentang kurangnya peta jalan dari masalah yang begitu penting. Sederhana atau tidak
ini adalah fitur yang diperlukan untuk lingkungan pengembang pada tahun 2017. Perbaikan super sederhana
akan membiarkan kami menandai bagian dengan komentar atau kata kunci lain untuk ditentukan
kecerdasan mana yang kita inginkan. Hal dari blok kode GitHub, bungkus bagian
teks dalam tag.

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-290091896 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AKtty5-1B6H5kqCCq9mb8rva78_dR53Uks5rql6ZgaJpZM4Gpk-J
.

>

Jesse Nicholson

JAWABAN UNTUK SEMUA MASALAH INI BAGI SAYA ADALAH NETBEANS UNTUK PHP

IDE HEBAT YANG TIDAK AKAN BERUBAH UNTUK WAKTU PANJANG.

@ madruga88 Netbeans bahkan bukan yang terbaik. PHPStorm Saya percaya saat ini adalah editor PHP terbaik di luar sana. Saya yakin Jetbrains mengambil seluruh Intelligent Coding Assistance dari Microsoft, dan membuatnya jauh lebih baik.

Ketika saya pertama kali mulai menggunakan VSCode, satu-satunya IDE yang mengingatkan saya adalah yang dari Produk IntelliJ karena betapa cepatnya penyelesaiannya muncul. Faktanya, baik VSCode dan PHPStorm memiliki perasaan yang sangat mirip di luar kotak dalam hal fitur pengeditan umum. Satu-satunya tempat yang VSCode Gagal sulit (Dan maksud saya sangat sulit) adalah pada PHP dengan HTML tertanam (yang seharusnya berfungsi dari awal).

Jika VSCode akhirnya memiliki HTML yang disematkan untuk bekerja dengan PHP, itu akan dengan mudah menjadi editor teks terbaik (non IDE) untuk PHP.

Saat ini saya tetap menggunakan Sublime Text karena setidaknya mengetahui apakah saya menggunakan HTML, CSS, Javascript, atau PHP semua dalam file yang sama dan setidaknya memberikan penyelesaian yang tepat.

Lucunya teks Sublime ketika Anda memiliki file PHP yang memprosesnya sebagai file HTML biasa. Dapatkah VSCode menambahkan dukungan PHP ke sintaks HTML juga? Tidak perlu memiliki 2 sintaks terpisah untuk itu?

@ drone540 pemuatan dan penggunaan yang buruk (bahkan pengetikan kode lambat) kinerja phpstorm membuat saya memilih netbeans ... yang memiliki semua alat linting dan petunjuk, pemformatan dan debugging sempurna di luar kotak.

Saya telah menggunakan studio visual selama satu dekade .. dan saya dapat mengatakan bahwa netbeans adalah studio visual dari PHP karena fiturnya yang lengkap dan performa yang bagus.

Saya setuju dengan Anda bahwa satu-satunya hal yang hilang dalam vscode adalah format sintaks html + php.

tetapi meskipun PHPSTORM gratis .. saya akan memilih netbeans ... karena kinerjanya.

Serius ini tidak diperbaiki sejak 2015? Kembali ke luhur

Saya terus memeriksa kembali untuk melihat apakah masalah ini sudah diperbaiki tetapi tidak ada gerakan. Tidak akan beralih ke VSCode sampai terlepas dari berapa banyak fitur hebat lainnya yang dimilikinya. Ini sangat dibutuhkan.

Saya terus memeriksa kembali untuk melihat apakah masalah ini sudah diperbaiki tetapi tidak ada gerakan. Tidak akan beralih ke VSCode sampai terlepas dari berapa banyak fitur hebat lainnya yang dimilikinya. Ini sangat dibutuhkan.

IDE apa yang Anda gunakan saat ini?

@icenold Saya memiliki alur kerja yang cukup bagus dengan Brackets atm. Cenderung bertahan dengan itu.

Sayangnya, meskipun saya suka Visual Studio Code, saya harus beralih ke Sublime karena masalah ini.

masih buka? semua orang menginginkan fitur ini!

Harap Terapkan fitur ini. Saya telah mendengar hal-hal hebat tentang VS dari teman pengembang. Saya akan beralih dari sublim pagi ini tetapi saya benar-benar tidak bisa melewatkan jika tidak memiliki fitur ini.

Teman-teman, mari bersabar.

@markpan Tanggal tiket asli: "25 Nov 2015"

Sementara kami menunggu apakah ada cara saya dapat mengatur sintaks HTML menjadi default untuk file PHP karena saya biasanya menulis lebih banyak HTML di PHP daripada PHP. Tidak ada yang jelas di panel pengaturan pengguna.

Terima kasih!

@ matt3224 klik pada indikator bahasa di sudut kiri bawah bilah status dan di pilih cepat pilih 'Configure File Association'

image

@egamma Luar

Sebenarnya, php dirancang untuk bekerja dengan HTML dan menggunakan tag html untuk menutupi dirinya sendiri, seperti javascript / css pada HTML. Bahasa lain tidak berfungsi seperti itu. Jadi dukungan HTML dalam file .php harus menjadi fitur bawaan.

Sementara saya menyukai ekstensi untuk VS Code, masalah yang disebutkan di sini (mengingat berapa lama utas ini tanggal kembali) adalah pemecah kesepakatan. Tentu saja Anda bisa menyelesaikan pekerjaan tanpa itu, tapi terasa lambat, cukup lambat Anda bisa kembali ke Notepad dan pergi tanpa alat bahasa sama sekali.

Seharusnya tidak seperti ini.

Halo penggemar vscode php. Anda mungkin tertarik dengan rilis 0.7.0 dari Intelephense .

optimised

Ada beberapa kebiasaan di mana Anda harus berada dalam mode bahasa HTML dan pewarnaan sintaks tidak tersedia untuk php. Pemformatan (dipotong dari gif) adalah proses 3 langkah: format html -> beralih ke php -> format php.

Semoga Anda semua memisahkan pandangan dan model Anda dengan baik dan kekurangan ini tidak terlalu menjadi masalah.

@bmewburn luar biasa! Kapan itu akan tersedia?

@popcorner sekarang tersedia

Saya pribadi menyelesaikan ini dengan membuka File-> Keluar dan mengunduh Netbeans
w / web dev addon. Unggul. Kode Vs adalah ide ketikan yang layak dan tidak banyak
lain. Ketika Anda berhenti mengharapkan lebih banyak darinya, Anda berhenti kecewa.

Pada hari Sabtu, 24 Jun 2017 jam 17.02 Ben Mewburn [email protected]
menulis:

@popcorner https://github.com/popcorner sekarang tersedia

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-310865635 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AKtty5j9FjPOsarF3tjW9qq2JugqnYjZks5sHXlggaJpZM4Gpk-J
.

>

Jesse Nicholson

@bmewburn Saya mencoba Intellephense tetapi masih memiliki beberapa masalah yang mencolok. PHP diketik di dalam atribut tag HTML misalnya (id = "") kehilangan penyelesaian otomatis. Hilangnya pemformatan tema PHP.

Ini membutuhkan bolak-balik yang sama antara HTML dan PHP dan itu hanya membuang banyak waktu.

Pada catatan terpisah, saya mulai bertanya-tanya apakah seluruh utas ini hanyalah satu troll besar. Bagaimana ini masih bisa menjadi masalah setelah 2 tahun? Setiap orang yang bahkan membuka masalah serupa, telah menutup dan merujuk ke masalah ini. Namun belum ada kemajuan yang dicapai selama ini.

Saya juga pindah ke Netbeans, menemukan PHPStorm mampu menangani php html js dalam satu file dengan sempurna. Integrasi Remote DB melalui SSH juga rapi.

Jadi, saya melakukan beberapa pengujian dengan Netbeans dan PHPStorm.

Sepertinya Netbeans cukup baik dalam hal ini.

Netbeans
Ini mendukung:

  • HTML / CSS / JS dalam file PHP di luartag
  • CSS dalam tag HTML dengan atribut gaya.
  • Penyelesaian ejaan (tidak tahu jika berguna tetapi tidak ada)

Gagal dengan:

  • Penyelesaian tampaknya tidak menyadari konten yang Anda ketik, jadi penyelesaian pertama mungkin bukan yang Anda inginkan.
  • Tidak ada dukungan untuk HTML di String PHP. Nyatanya penyelesaian di sini seburuk VScode.

PHPStorm

  • Ini berfungsi cukup banyak dalam konteks apa pun, dan berfungsi dengan sangat baik dan semua penyelesaian akurat dan sesuai keinginan Anda.

Kegagalan Kecil:

  • masalah kecil yang tampaknya menutup pelengkapan otomatis saat - kunci dengandengan atribut gaya. Dapat dibuka kembali dengan ctrl + spasi atau dilanjutkan dengan mengetik atribut css
  • hanya aktif dalam string PHP jika ada tag HTML (yang sebenarnya cukup mendukung)

PHPStorm pasti terasa lebih dekat dengan VSCode (ketika berfungsi), kemudian Netbeans melakukannya. Jika Anda ingin menguji bagaimana pelengkapan otomatis seharusnya bekerja. Saya akan merekomendasikan untuk mengujinya di PHPStorm. Juga PHPStorm dan VSCode berbagi cukup banyak fitur pengeditan serupa di luar kotak. Dari segi kinerja, saya pikir PHPStorm lebih cepat. Tidak mengalami penundaan apa pun bahkan dengan pelengkapan otomatis. Netbeans melihat beberapa kelambatan dengan pelengkapan otomatis.

Entah berapa lama sebelum VSCode benar-benar memperbaiki masalah ini, tetapi saya percaya ketika itu akhirnya berhasil. Ini akan bekerja lebih dekat dengan cara kerja PHPStorm, dan setidaknya menjadi editor terbaik ke-2 untuk pelengkapan otomatis PHP yang pernah ada.

Saya baru saja beralih ke VSCode dari SublimeText, hanya untuk mengalami masalah ini. Ini adalah masalah yang cukup menjengkelkan, dan juga cukup mendasar. Saya harus kembali ke SublimeText karena itu. Mencoba mengasosiasikan PHP dengan HTML, tetapi itu membuat semua kode PHP putih, tidak ada penyorotan sintaks sama sekali. Mengerikan!

Saya berpikir bahwa setelah 10 tahun saya akhirnya akan memiliki satu perangkat lunak Microsoft yang akan dipasang di komputer saya secara permanen, tetapi jika mereka tidak dapat menyelesaikan masalah sederhana selama 2 tahun, itu akan dibuang lagi.

Menulis HTML di dalam dokumen PHP menyebabkan

screen shot 2017-07-28 at 1 32 51 pm

@ingageco Tidak, tidak. Ini disarankan oleh ekstensi PHP Intellisense oleh @felixfbecker. Tetapi tidak ada yang dapat dia lakukan, karena ekstensi tidak dapat menentukan karakter aktivasi khusus, sehingga dapat menghindari menyarankan itu.

Saya hanya ingin tahu satu hal. Apakah dalam proses (sedikit demi sedikit, langkah bayi semut) atau baru saja disingkirkan sama sekali?

@bsienn Tentang apa? Ekstensi php intellisense sedang berlangsung, sementara tim Kode tidak ingin ini disediakan secara native.

@ jens1o Terima kasih atas balasannya. Jadi, php intellisense extension apakah Anda berbicara tentang ekstensi Fleix Baker?
Jadi utas ini berlebihan? Saya bingung sekarang. Haruskah saya mengikuti repositori pluginnya untuk kemajuan?

Ya, saya sedang berbicara tentang ekstensi Felix, dan ya, Anda harus mengikuti repositori untuk menjadi up2date.

... jadi 2 tahun kemudian, masih belum ada solusi untuk pelengkapan otomatis html di file php? Saya sangat suka VS Code, saya tidak ingin harus kembali ke Sublime karena ini :-(

Saat ini kita hanya harus benar-benar menghadapinya

Atau tidak Anda tahu karena ada pilihan lain di luar sana. Git dan debugging saja tidak akan membuat saya mundur dalam alur kerja saya. Tidak pernah tidak ketika ada opsi yang mungkin tidak diimplementasikan dengan baik tetapi sebaliknya memadai. Masalah ini seharusnya sudah diselesaikan dari awal.

Masalah utamanya adalah kita tidak tahu siapa yang akan memberikan itu. Idealnya ekstensi PHP ( @felixfbecker ?). Saya juga terbuka untuk menambahkan dukungan ke server bahasa HTML.
Semua kecerdasan HTML juga tersedia sebagai modul node .

@aeschli Seperti diuraikan di atas dan di beberapa utas lainnya, menurut saya tidak mengharuskan setiap server bahasa untuk menyematkan server bahasa untuk setiap kemungkinan bahasa yang disematkan adalah pendekatan yang benar dan berkelanjutan. PHP biasanya menyematkan HTML dan SQL. HTML biasanya menyematkan CSS dan JS. JS biasanya menyematkan HTML. Penulis server bahasa akan melakukan kesalahan besar yang mendukung setiap kombinasi bersarang dan pengguna akan berakhir dengan server bahasa yang diinstal beberapa kali untuk bahasa yang sama, tetapi tidak dapat mengontrol server bahasa apa yang akan digunakan untuk bahasa yang disematkan ini lagi, atau versinya. Seperti yang Anda katakan sendiri di https://github.com/Microsoft/vscode/issues/670#issuecomment -282702369 (penekanan saya):

Ini mungkin mengarah ke API khusus server bahasa dan ketergantungan antar server.
Kami ingin menjaga kopling tetap rendah dan ekstensi bahasa dapat diganti .

Saya sangat setuju dengan itu, dan dari sudut pandang saya, pendekatan penyematan mengarah pada hal itu, bukan solusi saya yang diuraikan:

  • Berikan server bahasa kemampuan untuk mengumumkan ke _client_ rentang apa yang berisi bahasa yang disematkan. Misalnya, server bahasa PHP melaporkan ke VS Code kisaran HTML sebaris sebagai HTML tertanam, server bahasa HTML melaporkan ke VS Code kisaran tag <style> sebagai CSS tertanam, kisaran <script> tag sebagai JS tertanam.
  • Klien (VS Code) mengaktifkan server bahasa yang diperlukan untuk bahasa yang disematkan dan mengirimkan pemberitahuan didOpen dengan URI virtual dan konten dari rentang yang disematkan.
  • Setiap kali pengguna meminta pelengkapan otomatis di dalam rentang bahasa yang disematkan, kirim permintaan itu ke server bahasa untuk bahasa yang disematkan (posisi relatif terhadap awal rentang yang disematkan)
  • Tunjukkan hasil, menyelesaikan posisi relatif terhadap awal rentang yang disematkan sesuai kebutuhan.

Dengan pendekatan ini, pengguna memiliki kontrol penuh atas server bahasa apa yang akan digunakan (dapat diganti ) dan server individu tidak perlu repot-repot menyematkan server bahasa lain sebagai dependensi . Ini berarti pengalaman yang konsisten di seluruh bahasa yang disematkan vs bahasa tingkat atas dan mempertahankan SoC untuk setiap server bahasa agar hanya menangani satu bahasa.

Notifikasi tersebut kira-kira akan terlihat seperti ini:

/** Parameters for textDocument/publishEmbeddedScripts, a notification sent from server to the client */
interface PublishEmbeddedScriptsParams extends TextDocumentIdentifier {
  /** All the embedded scripts for this text document */
  embeddedScripts: EmbeddedScript[]
}
interface EmbeddedScript {
  /** Ranges in the text document that form this continuous embedded script */
  ranges: Range[]
  /** The language ID for that script (as also used in MarkedString) */
  languageId: string
}

Contoh:

Diberikan dokumen PHP seperti ini:

<h1>Foo</h1>
<?php echo 'Hello' ?>
<p>Bar</p>

server bahasa PHP akan mengirim ke VS Code

{
  embeddedScripts: [{
    languageId: 'html',
    ranges: [
      { start: { line: 0, column: 0 }, end: { line: 0, column: 11 }}
      { start: { line: 2, column: 0 }, end: { line: 2, column: 9 }}
    ]
  }]
}

yang akan mengakibatkan server bahasa HTML menerima textDocument/didOpen dari VS Code dengan URI seperti file:///foo.php#embedded1 dan konten ini:

<h1>Foo</h1>
<p>Bar</p>

Senang membahas ini dalam masalah terpisah jika Anda mau.

@aeschli Saya pikir fakta bahwa ini terus memantul sebagai masalah server bahasa meskipun masalah ini masih terbuka memberi tahu saya bahwa itu mungkin tidak akan pernah bisa diperbaiki.

@felixfbecker Tidak ada yang mengatakan bahwa setiap bit pemformatan dapat dideteksi. Itu akan gila tapi minimal dalam PHP / HTML yang dapat dideteksi di dalam satu sama lain akan menyenangkan. VSCode membuat bekerja dengan PHP / HTML sangat sulit dibandingkan dengan IDE lain

@bayu_joo

File apa yang secara khusus perlu diedit di server bahasa agar ini berlaku? Saya melihat server bahasa untuk HTML dan tidak dapat melihat dengan tepat apa yang dilakukannya dengan gaya dan skrip.

Sepertinya apa yang dilakukannya melewatkan tokenizing apa pun yang bukan HTML menurut file ini: https://github.com/Microsoft/vscode-html-languageservice/blob/master/src/parser/htmlScanner.ts
https://github.com/Microsoft/vscode-html-languageservice/blob/master/src/htmlLanguageService.ts

Tapi bagaimana CSS dan Javascript tahu apa yang harus dilakukan? Saya tidak melihat cara kerjanya sama sekali menurut file ini.

@aeschli, server bahasa php dan html sudah dapat bekerja sama dengan cukup baik mengingat banyak fitur vscode memungkinkan banyak penyedia untuk didaftarkan. Dalam banyak kasus, hasil penyedia bukan falsey pertama digunakan atau dalam beberapa kasus beberapa hasil digunakan. Jadi selama setiap server mengabaikan apa yang tidak dipahami - di luar <?php ?> untuk php, di dalam untuk html - itu berfungsi. Anda dapat melihat ini beraksi di sini https://github.com/Microsoft/vscode / issues / 670 # issue -310822851

Agar ini bekerja lebih lancar.

  1. Izinkan beberapa asosiasi file id bahasa sehingga setiap server lang berjalan.
   "files.associations": {
        "*.myphp": ["php", "html"]
    }  
  1. Gunakan file tata bahasa gabungan php / html / css / js untuk penyorotan sintaks

Apakah ada solusi yang lebih lengkap untuk penyematan bahasa? Mungkin. Dan saya setuju bahwa tidak menjadi tanggung jawab server tertentu untuk menyematkan banyak bahasa. Saya tidak berpikir itu harus menjadi tanggung jawab server untuk mengidentifikasi bahasa tertentu yang digunakan, pengguna harus mengidentifikasi rentang dokumen. Tapi disamping itu, untuk membuat PHP dan HTML bekerja sama, menurut saya tidak terlalu sulit.

@bmewburn Jika tidak terlalu sulit mengapa kita menunggu 2 tahun kemudian untuk memperbaikinya?
@felixfbecker mengatakan itu tidak mudah dilakukan. Tapi masalah ini masih terbuka sehingga jelas orang akan berpikir itu mungkin menjadi prioritas tetapi setiap rilis melihatnya terlewatkan. Jadi sampai seseorang membuat perubahan, saya akan terus bersikap kasar dan berharap itu pada akhirnya diperbaiki. Sampai saat itu saya akan terus menggunakan apa yang berhasil.

@felixfbecker Seperti yang saya sebutkan dalam komentar saya , tidak ada persyaratan di sini, setiap server bahasa bebas memilih pendekatan tentang cara menangani konten yang disematkan: Meneruskan permintaan ke server lain, atau menanganinya sendiri. misalnya menggunakan perpustakaan / layanan terkait. Itu semua tergantung pada seberapa erat keterkaitan konten yang disematkan dan bahasa utama dan pengalaman pengguna yang ingin disediakan server. Seringkali konten yang disematkan membutuhkan konteks dari bahasa utama dan harus mematuhi aturan pelolosan. Itu tidak dapat dengan mudah dikomunikasikan ke server bahasa yang hanya melihat dokumen virtual. Itulah alasan mengapa kami menjauh dari pendekatan itu di server HTML.
Tetapi jika ini adalah pendekatan yang layak untuk PHP, dan server bahasa PHP ingin server HTML menangani permintaan untuk rentang yang diberikan, mari kita lakukan itu, API untuk itu semua ada di sana, semuanya dapat dilakukan di klien dan dengan protokol LS khusus .
Jika ada yang bisa saya bantu di html-server atau layanan, beri tahu saya.

Aturan pelolosan

Tetapi jika ini adalah pendekatan yang layak untuk PHP, dan server bahasa PHP ingin server HTML menangani permintaan untuk rentang yang diberikan, mari kita lakukan itu, API untuk itu semua ada di sana, semuanya dapat dilakukan di klien dan dengan protokol LS khusus .

Server bahasa PHP digunakan oleh banyak klien selain VS Code, sublime, neovim, atom-ide-php, Eclipse Che, dll. Bagaimana kita bisa membangun solusi yang diharapkan (pada akhirnya) berfungsi di semua ini klien (karena itulah inti dari LSP), sementara pada saat yang sama menghindari untuk memaketkan langserver HTML (dan CSS, JS ...) tertentu dengan persyaratan runtime tertentu (misalnya, pengembang PHP neovim telah menginstal PHP, tetapi tidak harus NodeJS) jadi pengguna dapat memutuskan server bahasa apa yang akan digunakan untuk bahasa tertanam? Saya akan sangat senang jika kami dapat melakukannya dengan cara universal untuk semua bahasa karena itu akan menjadi argumen yang sangat kuat untuk LSP.

@aeschli @felixfbecker Jadi, apakah ini berarti Anda berdua akan mencoba menyelesaikan masalah ini? Itu akan luar biasa.

Ini adalah fitur yang sangat dibutuhkan oleh hampir setiap pembuat kode PHP. Jadi mohon, jangan diabaikan begitu saja karena kami tidak dapat membuatnya dengan cara _correct_.
Sekalipun ada solusi yang tidak logis atau jelek, itu masih dapat digunakan sementara, daripada kita menundanya dan tidak melakukan apa-apa.

Jika kita diborgol karena kita ingin menjadi sekompatibel mungkin untuk ekstensi yang aslinya ditulis untuk editor lama lainnya, maka mungkin kita harus mempertimbangkan untuk menulis standar editor-silang baru yang melampaui apa yang kita miliki saat ini. Ini tidak seperti Microsoft belum keluar dari batasannya sebelumnya dan bekerja dengan grup lain untuk membangun model server bahasa standar yang digunakan di editor ini dan lainnya. Kita hanya perlu melakukan hal yang sama lagi tentang bagaimana skenario bahasa campuran ditangani.

Hal ini jelas bahwa ekstensi dicampur-bahasa seperti @felixfbecker 's ekstensi php-intellisense atau saya ekstensi vscode-jinja semakin diblokir oleh masalah ini. Sangat bagus jika Anda dapat melakukannya dalam bahasa inti, tetapi jika komunitas tidak dapat mengembangkannya dengan mudah, itu hanya akan memberikan pengalaman yang buruk kepada seluruh editor secara umum. Pada titik ini, masalah ini telah berlangsung cukup lama sehingga komunitas itu sendiri sebenarnya menyuruh orang lain untuk pergi ke tempat lain, dan saya melakukan hal yang sama.

@wholroyd setuju, saya memberi tahu orang-orang tentang IDE ini seolah-olah itu adalah yang terbaik sejak mengiris roti dan sekarang saya secara aktif menjauhkan orang darinya. Saya menyesal telah mengintegrasikannya ke salah satu proyek saya.

@aeschli, apakah Anda akan mempertimbangkan hal berikut di server bahasa html?

  1. ID bahasa tambahan untuk mendengarkan phtml . Ini akan memberikan id bersama yang dapat didengarkan oleh ekstensi php dan html dan gabungan tata bahasa teman teks.
  2. Jika perlu modifikasi pada pemindai server bahasa html untuk menggunakan semua dalam <\?(php|=)?> , \?> sebagai satu tag penutup diri.

Penyedia berikut dari ekstensi php dan html terpisah akan bekerja sama dengan baik tanpa penyematan apa pun di server atau meretas klien.

  • lensa kode
  • tindakan kode
  • penyelesaian
  • definisi
  • menyoroti
  • tautan
  • simbol doc
  • hover
  • penerapan
  • referensi
  • tanda tangan
  • simbol ruang kerja

Beberapa peretasan akan diperlukan agar pemformatan dan penggantian nama berfungsi dan pengguna perlu memberi nama file tampilan dengan ekstensi berbeda dan mengaitkannya dengan phtml daripada php. Tapi saya pikir ini akan menjadi awal yang bagus dengan sedikit usaha dan resiko.

@bmewburn Ya, kedengarannya bagus, saya bisa melakukannya. Apa ide bahasa 'phtml'? Apakah Anda akan menggunakannya untuk meneruskan permintaan secara terprogram?

@aeschli tidak ada penerusan permintaan, idenya adalah membiarkan server html mendaftarkan penyedia untuk phtml dan meminta server php mendaftarkan penyedia untuk phtml juga dan membiarkan vscode menangani tanggapan yang terpisah.

Semua penyedia di atas memiliki respons yang digabungkan atau respons non-falsey pertama yang digunakan. Jadi selama server html dan php terpisah tidak mencoba dan mengembalikan hasil untuk rentang yang tidak mereka pahami, maka semuanya harus berfungsi. ID phtml hanyalah sesuatu yang umum untuk kedua server bahasa, mungkin lebih baik hanya memiliki beberapa asosiasi file bahasa tetapi itu mungkin lebih terlibat? Selain itu, saya kira menjaga php dan phtml terpisah menghindari pengiriman permintaan ke server html untuk file khusus php.

"files.associations": {
        "*.php": ["php", "html"]
    }

Saat ini saya mendaftarkan ekstensi php saya dengan html dan php doc selector tetapi saya berhati-hati untuk menimpa konfigurasi bahasa html dalam pengaturan ini.

Asosiasi file hanya dapat ditetapkan ke satu id bahasa. Tetapi server bahasa bebas untuk menyajikan dokumen dalam bahasa apa pun yang mereka inginkan.
Kemungkinan 1: HTML juga terdaftar untuk php , berpartisipasi pada semua permintaan, tetapi hanya akan mengembalikan hasil ketika di luar <?php .../?>
Kemungkinan 2: Hanya server bahasa PHP yang mendaftar untuk php , dan akan meneruskan semua permintaan <?php .../?> ke semua server bahasa yang terdaftar ke bahasa phtml .

Jadi penerusan dapat dicapai hanya melalui commands.executeCommand ?

@bburn Saya membuat # 36396. Mari kita bahas item itu.
Ya, dengan `commands.executeCommand 'seperti yang dilakukan di sini

Semua pembaruan tentang html intellisense untuk php

Hai Teman-teman, apakah ada cara untuk menggabungkan pengkodean php dan html? Penyorotan html tidak berfungsi dengan benar di dokumen php :-(

835b4a9809

Sepertinya hampir setelah 2 tahun masih belum ada solusi yang tepat?

apakah masalah ini terpecahkan sampai?

Tidak, tetap tidak mungkin. Sayangnya saya terpaksa kembali ke ST3 karena masalah ini. Saya berharap suatu hari mereka memperbaiki ini dan saya bisa kembali.

@bmewburn Kerja yang fantastis. Ini sudah lama dibutuhkan. Terima kasih banyak. Sekarang tidak ada alasan untuk tidak beralih ke VSCode

@ kilevvri1 tolong bagikan pengaturan Anda. Bagi saya tidak bekerja ..

@ expo87 Saya menggunakan default PHP Intelephense meminta pengaturan pengaturan
"php.suggest.basic": salah
Saya belum menggunakan pengaturan lain.

Kekecewaan. Saya baru saja menyiapkan lingkungan VSCode saya dan menyiapkan semua plugin saya. Kemudian saya mengalami ini dan masih belum ada perbaikan.
Sungguh memalukan karena saya mulai sangat menyukai VSCode tetapi sekarang saya harus kembali ke Sublime Text.

@DannyMexen Coba ekstensi PHP Intelephense

@ kilevvri1 ekstensi ini memerlukan pemasangan PHP. Bagi saya menginstal di sistem PHP tidak diperlukan! Mengapa saya harus melakukan ini? Hanya untuk melihat sintaksis campuran normal php dan bahasa lain? Mengapa opsi ini tidak berhasil di luar kotak ?! Sublime Text menginstal file 8,5 Mb - penyorotan campuran berfungsi dengan baik. File instalasi CodeLite 50 Mb - penyorotan campuran berfungsi dengan baik. Dan tidak perlu menginstal PHP!

Saya setuju dengan @ expo87 bahwa fungsi ini harus keluar dari kotak di VS Code. PHP Intelliphense sudah selangkah lebih maju dan memungkinkan penyelesaian otomatis, namun saya tidak bisa mendapatkan penyorotan sintaks html sama sekali.

@ kilevvri1 , hei, bagaimana kabarmu? Saya melakukannya, itu tidak berhasil.

Namun, saya masih tidak bisa memformat HTML dalam file .php. Saya juga setuju bahwa fungsi seperti itu harus di luar kotak.

Segala sesuatu yang lain baik-baik saja tetapi hanya satu hal ini yang merusak pengalaman saya. Sangat penting bagi kode saya untuk diformat dengan baik karena kebijakan perusahaan. Ini untuk berharap di masa depan.

Ini merepotkan tetapi untuk file besar, saya mengganti nama file menjadi .html, memformat dan kemudian mengganti nama kembali ke .php (percayalah, saya telah mencoba setiap trik yang tidak berhasil).

Saya suka VSCode dan saya akan memberikannya seminggu. Jika pekerjaan saya melambat secara signifikan, saya akan kembali ke ST 3.

Bagi Anda yang mengeluh tentang menginstal PHP agar ekstensi berfungsi, apakah Anda benar-benar tidak menginstal PHP di komputer lokal Anda? Apakah Anda benar-benar membuang-buang waktu untuk meletakkan kode di server Anda sebelum mengujinya, dan melakukan ini berulang kali?

PHP harus diinstal secara lokal, yang sepertinya sudah diberikan. Jika aplikasi Anda tidak berjalan secara lokal, Anda memiliki beberapa masalah pengembangan yang harus diselesaikan.

@TheColorRed bagi saya tidak perlu melihat hasil kode saya secara lokal dan setelah itu mengunggah file di server. Menggunakan WinSCP dan ST - kecepatan kerja saya yang ringan dan cepat. Dan tentu saja saya tahu apa yang saya lakukan :-)

@TheColorRed Anda menemukan seseorang di internet yang salah dan secara pasif mengoceh tentang nilai waktu.

image

Meskipun kita semua ingin ini menjadi fungsionalitas langsung dari kotak, kenyataannya adalah tidak. Tim VSCode melihat ini sebagai bukan masalah atau prioritas sangat rendah. @bmewburn telah membuat ekstensi PHP Intelephense yang saya sukai versus alternatifnya.

@ expo87 Tidak perlu menjelaskan alur kerja Anda. Kita semua melakukan sesuatu dengan sedikit berbeda.

karena ini
saya menggunakan smarty, jadi saya bisa memindahkan semua HTML ke file tpl, bukan di dalam kode php -_-
dan buat kode saya lebih bersih

@DannyMexen Saya tidak punya masalah dalam memformat HTML di dalam file PHP. Saya mematikan format Intelephense PHP "intelephense.formatProvider.enable": false di settings.json

Yang saya inginkan hanyalah > untuk tidak memicu saran pelengkapan otomatis (dan membuat saya menghentikan apa yang saya lakukan untuk mengabaikannya). Ini menjengkelkan ketika Anda menutup elemen HTML dan ingin pergi ke baris berikutnya, tetapi jika Anda "tidak sengaja" menekan enter, Anda berakhir dengan sampah yang harus Anda hapus, bukan baris baru. Tidak satu pun dari saran di atas tampaknya memperbaiki masalah khusus ini.

Semua yang diperlukan untuk itu adalah https://github.com/Microsoft/language-server-protocol/issues/138.
@jrieken dapatkah Anda memberikan komentar tentang apakah solusi perantara yang Anda usulkan dalam waktu dekat?

Kami mungkin dapat menerapkan pemicu multi-karakter tetapi tidak sesederhana kedengarannya. Hingga saat itu, ekstensi harus menggunakan karakter terakhir dalam urutan potensial karakter pemicu.

@ kileri1 tanpa dadu. Saya telah mengikuti posting Anda tetapi tidak berhasil. Bisakah saya melihat semua pengaturan Anda? Mungkin daftar ekstensi yang telah Anda instal jika itu tidak menjadi masalah.

Yang paling dekat yang saya dapatkan adalah mengubah asosiasi file dan bermain-main dengan mempercantik tetapi bahkan itu tidak membantu.
Terima kasih semuanya. Sepertinya tidak ada jawaban langsung untuk ini.

Setelah berjam-jam mencoba, saya tidak bisa membuat benda ini bekerja. Bahkan plugin "PHP Intelephense" tidak bekerja untuk saya seperti yang disarankan @bmewburn . Ketik 'php' dan tekan tab, itu meluas menjadi ini: http://s.zeshanahmed.com/a_1FC81B2B.png

Ini adalah fitur paling dasar saat Anda menggunakan HTML dengan PHP. Setidaknya sebagai pengembang tema WordPress.

Saya dapat kembali dan memeriksa VS Code lagi, tetapi untuk saat ini, beralih kembali ke Sublime. Saya menyukai betapa kuatnya VS Code pada awalnya, tetapi masalah kecil ini (atau kurangnya fitur) akan membuat banyak pengembang PHP / WP menjauh darinya.

Dan saya bersama @zeshanshani dan @DannyMexen - jika saya tidak dapat menulis html di dalam file PHP saya, maka editor ini benar.

Dang. Saya sangat menyukainya tetapi hal yang satu ini (tampaknya sederhana) telah membuatnya tidak berguna bagi saya.

Mungkin saya sedikit salah di sini, masalah ini sebenarnya bukan yang saya maksud. Bagaimanapun, seperti yang saya sebutkan, saya menyukai betapa kuatnya VS Code bagi saya, jadi saya memeriksa lebih lanjut dan menemukan solusi yang cukup mudah untuk masalah tersebut.

Masalah yang saya hadapi adalah ketika Anda berada di luar <?php ?> blok dan mencoba membuka blok PHP dengan pintasan, itu tidak berfungsi.

Jadi saya membuat cuplikan HTML khusus untuk memperluas blok PHP. Saya membuat 3 cuplikan ini untuk saat ini:

  • php - untuk berkembang menjadi <?php ?>
  • jika - untuk membuka IF bersyarat.
  • foreach - untuk membuka loop FOREACH.

Berikut kode potongan jika ada yang mencarinya:

https://gist.github.com/zeshanshani/ccbfe8c0177a2513f0a92d0747349f50

Dan inilah hasilnya:

PHP Expand in HTML

Satu-satunya masalah di sini adalah ia juga memperluas cuplikan dalam file .html tidak seperti Sublime Text di mana Anda dapat menentukan cakupan sehingga cuplikan tertentu hanya meluas jika itu adalah PHP: http://s.zeshanahmed.com/a_1FCD4A29.png

Btw, apakah ada yang mencoba mengaktifkan pengaturan emmet.triggerExpansionOnTab ? Ini memungkinkan ekspansi HTML emmet pada dukungan tab di dalam string PHP.

Untuk membuat pengaturan ini, pergi ke Pengaturan Pengguna dan tambahkan baris ini:

"emmet.triggerExpansionOnTab": true

Tangkapan layar: http://s.zeshanahmed.com/a_1FD14980.png

Inilah hasilnya:

HTML Expand in PHP Strings

Saya menemukan solusi yang bisa diterapkan untuk saya (dan mungkin orang lain.)

Saya telah menginstal ekstensi "_Auto Close Tag_" oleh Jun Han. Kemudian dalam pengaturan saya, saya menambahkan ini:

"php.suggest.basic": false,
"auto-close-tag.SublimeText3Mode": true,

Sekarang saat berada dalam file .php dan di luar tag <?php ?> saya tidak mendapatkan $_cookie setelah saya selesai mengetik tag html, dan ketika saya mengetik </ itu otomatis menyelesaikan tag penutup yang sesuai.

mudah-mudahan, ini membantu orang lain yang mengalami masalah yang sama dengan saya.

@ Chenzo apakah kode format solusi Anda? Jika Anda menekan Ctrl + Shift + I , apakah PHP serta kode HTML diformat / diindentasi dengan sesuai?

@DannyMexen hmmm ... tidak. Namun, apakah itu hal asli VScode? Bahkan plugin beautify saya sepertinya tidak tahu apa yang harus dilakukan dengan HTML saat berada dalam file .PHP.

@Chenzo begitu. Ya, sama di sini. Ini adalah satu-satunya fitur yang saya perlukan untuk menggunakan VSC sebagai editor teks eksklusif saya.

@zeshanshani @DannyMexen
jika PHP Intelliphense tidak dapat berfungsi
coba instal ulang vscode dan PHP Intelliphense
atau
coba gunakan everedit , itu editor yang bagus, tapi bukan IDE, dan hanya windows

Terima kasih atas saran @iscraft tetapi saya menjalankan Linux dan saya menggunakan ST 3 untuk semua proyek PHP saya.

Jadi, jika saya mengikuti ini dengan benar, masalah pemblokiran diselesaikan di LSP (yay!), Dan juga diselesaikan di Server Bahasa Felix (yay!), Tetapi belum diselesaikan di VS Code Insiders.

Masalah terkait yang lebih kecil dengan autocomplete <?php ada hadir di VS Code Insiders, dengan plugin Intellesense Felix aktif, jadi saya rasa itu juga menunggu sesuatu di VS Code?

https://github.com/felixfbecker/vscode-php-intellisense/issues/205#issuecomment -347794655

Saya kira itu akan melewatkan Edisi Insiders dan membuatnya menjadi 1,19?

Di settings.json , menambahkan properti berikut berfungsi dengan baik.

"files.associations": {"*.php": "html, php"},

Yah, kurasa itu tidak benar. Kembali ke Sublime Text?

files.association adalah salah satu hal yang saya coba. Tidak pernah berhasil untuk saya.
Akun Twitter resmi baru saja memberi tahu saya untuk mengangkat masalah ini dan semoga
suatu hari, tim akan menerapkannya. Sungguh hal yang aneh untuk tidak dimiliki
ini di luar kotak. Secara harfiah satu-satunya hal yang mencegah saya menggunakan VScode
sebagai editor eksklusif saya.
@Ken New itu solusi saya untuk semua proyek PHP.

Pada Kamis, 14 Desember 2017 pukul 22.31, Ken Newman [email protected]
menulis:

Yah, kurasa itu tidak benar. Kembali ke Sublime Text?

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-351827207 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/APewuYFpWR6_mZbUO-XVNMwH0LpYb_Cqks5tAYWugaJpZM4Gpk-J
.

-
Salam,

Danny Mexen.

Apakah mungkin HTML sekarang bekerja dalam bahasa / file PHP di 1.19? Baru saja diuji dan saya melihat itu berfungsi, bahkan tanpa ekstensi apa pun ...

@jsieler di 1.19 dan 1.20 masih belum berfungsi.

VSCode 1.19 tidak dapat melengkapi otomatis html, atribut dalam file .php :( !!!!
Edisi 2 tahun ...

HTML telah berfungsi dengan baik di file PHP dengan ekstensi ini . Masalah ini mungkin bisa ditutup.

phphtml

@bburn Saya rasa begitu juga

Tidak, secara pribadi, saya menunggu dukungan tanpa membutuhkan ekstensi eksternal.

Masalah utama juga berlaku untuk bahasa lain.

Mari perjelas tentang masalah yang sebagian dari kami laporkan di sini.

Untuk saat ini, saya akan berbicara sendiri.

Masalahnya BUKAN kegagalan pelengkapan otomatis HTML dalam file PHP, ini adalah MEMFORMAT kode HTML dalam file PHP dalam konteks fitur 'Format Dokumen' VSCode. Apakah ini jelas?

Jika pintasan keyboard default Anda adalah Ctrl + Shift + I Anda mungkin menemukan bahwa hanya kode PHP yang akan diformat dalam file PHP yang juga berisi kode HTML. Kode HTML tidak diformat sama sekali.

Fitur ini keluar dari kotak di ST 3, misalnya.

Hal-hal seperti pelengkapan otomatis, tag penutup otomatis, dll. Berfungsi dengan baik. Tab baris PHP, lalu tab baris HTML, coba format dokumen dan hanya kode PHP yang akan diberi indentasi dengan benar.

Saya harap ini menjelaskan beberapa hal di sini.

Siapa di sini yang mengalami masalah ini bersama saya?

@bmewburn ini berfungsi hanya jika Anda memilih mode bahasa HTML untuk file php, tetapi kemudian Anda memiliki gaya yang buruk untuk bagian php dari kode :(

@Bayu_joo

"files.associations": {"* .php": "html, php"},

Itu tidak berhasil sama sekali! Ini hanya menggunakan bahasa apa pun yang Anda gunakan terakhir (dalam kasus ini php). Yang lainnya sama sekali diabaikan.

@SharakPL versi VSCode ru menggunakan apa?

@ kilevvri1 Saya baru saja meningkatkan dari 1.19.1 ke 1.19.2. Tidak ada perubahan :(
Jika saya memilih PHP sebagai bahasa file maka saran html tidak berfungsi.
Jika saya memilih HTML sebagai bahasa file maka bagian php ditata sebagai teks biasa dan Output menunjukkan banyak kesalahan.

@SharakPL Apakah Anda telah menghubungkan jalur telepon Anda dalam pengaturan pengguna VSCode? Saya tidak di rumah sekarang tetapi ketika saya kembali saya akan membantu karena Intellephense tidak sempurna tetapi bekerja dengan baik sehingga saya akan mencoba membantu.

@SharakPL yang saya maksud adalah jalur PHP Anda. Mengetik di ponsel saya, maaf.

@ kilevvri1 ya, saya punya

"php.suggest.basic": benar,
"php.validate.enable": benar,
"php.validate.executablePath": "c: \\ wamp64 \\ bin \ php \ php5.6.25 \ php.exe",
"php.validate.run": "onType",

Ini harus seperti di Sublime Text 3, di mana kode html selalu disarankan sesuai saat dalam mode bahasa PHP

@Sharak_jakarta
Sesuai rekomendasi ekstensi:
"php.suggest.basic": salah

Coba itu dan beri tahu saya

@ kilevvri1 tidak ada perubahan :(

Oh, saya mengerti sekarang! Ada beberapa jenis HTML intellisense dalam file berformat PHP tetapi dikelola melalui saran EMMET: https://docs.emmet.io/cheat-sheet/
Saya terus merasa kesal karena tidak dapat menambahkan tautan sederhana dengan mengetik <a karena tidak ada potongan yang disarankan. Saya membayangkan mengetik hanya a menunjukkan apa yang saya butuhkan tetapi meskipun saya memiliki tautan saya, semua atribut harus saya tambahkan secara manual huruf demi huruf. Dengan EMMET saya cukup mengetik a#mylink.btn.btn-success untuk mendapatkan <a href="" id="mylink" class="btn btn-success"></a> . Itu keren, tapi untuk mendapatkan html yang lebih akurat saya harus menggunakan a#mylink.btn.btn-success[title="click me" target="_blank"] dan bagian baru itu lagi harus diketik huruf demi huruf. Akan jauh lebih baik gaya SublimeText:
html_is

Adakah cara agar kita dapat menambahkan .php secara manual ke daftar ekstensi file di mana HTML intellisense bekerja? Ini bisa dilakukan di Eclipse.

@gradev seseorang menyarankan
"files.associations": {"*.php": "html, php"}
di pengaturan pengguna, tapi ini tidak berhasil untuk saya

ketika mereka menambahkan kesempatan ini, siapa tahu?
adalah tahun 2020, mereka masih tidak melakukan ini ....

Autocomplete HTML dan CSS di file PHP ... Bagaimana caranya?

Perlu fitur ini ditambahkan. Atribut pelengkapan otomatis untuk tag HTML tidak berfungsi sama sekali.

Teman-teman, saya menggunakan solusi yang sangat menjijikkan, tetapi (agak) berhasil. Saya memiliki keyboard dengan tombol makro, jadi saya membuat makro untuk mengubah mode bahasa. Saya tekan M1 jika saya ingin HTML intellisense dan M2 jika saya ingin PHP.

Silakan coba ekstensi intelephense .

@aesli Ini TIDAK menyelesaikan masalah kunci. Masalah yang sama juga terjadi pada ekstensi yang saya pertahankan, di ekstensi Smarty. Sangat mengecewakan bahwa ekstensi PHP unggulan tidak mendapatkan dukungan lebih lanjut dan Anda mencoba mengalihkan perhatian dengan merekomendasikan untuk menggunakan ekstensi lain yang menggunakan solusi yang menyebalkan. Namun, masalahnya tetap lebih dalam. Faktanya, masalah ini harus diselesaikan di sprint berikutnya, dan Anda tidak boleh menganggapnya sebagai tumpuan dan mengecilkan masalah. Di mana perasaan Anda terhadap kepentingan komunitas?

Maaf, tapi aku sedikit kesal.

(Sebenarnya, saya mengatakan hal yang sama 3 bulan yang lalu .)

Ada begitu banyak area yang dapat dikerjakan oleh tim VSCode dan memiliki pengetahuan ahli. Sayangnya, kami bukan pengembang PHP. Itulah mengapa kami datang dengan API ekstensi terbuka dan pasar. Harap dukung kami dengan mencoba ekstensi dan bantu penulis dengan umpan balik yang baik.
Saya mengerti akan lebih bagus jika semua ekstensi ada di dalamnya dan dikirim bersama dengan VSCode, tetapi kami juga ingin menjaga unduhan tetap kecil.

Kami bekerja dengan Ben, penulis ekstensi intelephense untuk meningkatkan penyelesaian HTML di PHP. Menurut saya pendekatan yang diambil adalah pendekatan yang benar. Hanya PHP sebagai bahasa 'utama' yang sepenuhnya memahami konten HTML yang disematkan (misalnya, bagaimana kode itu dikodekan, bagaimana variabel PHP menyelesaikannya) untuk memberikan pengalaman pengguna yang baik. Dari pengalaman saya, solusi umum lainnya, hanya menyelesaikan sebagian dari masalah dan kami berakhir dengan ratusan masalah terbuka untuk kasus yang tidak dapat mereka selesaikan.

@ jens1o Saya minta maaf karena Anda frustrasi, dan tidak ada yang direncanakan di area ini dalam waktu dekat. Tolong bantu kami dengan mendukung ekosistem ekstensi kami atau berikan kesempatan intelephense (dan juga ekstensi PHP lainnya).

Baiklah, saya mengambil nafas yang baik dan saya menjadi tenang. Jadi, mari kita alihkan fokus ke ekstensi saya: Apakah saya seharusnya menyimpan cabang dari server bahasa HTML sehingga pengguna saya memiliki penyelesaian HTML? Itulah masalah utama yang saya maksud juga. Saya pikir bahasa lain dipukul lebih keras. Masalahnya, Smarty itu fleksibel sehingga bisa digunakan untuk hampir semua bahasa (seperti csv, json), apa pun. Karena ini adalah sistem templat yang tidak terikat pada batasan bahasa apa pun. Jadi saya perlu menyimpan garpu dari server bahasa csv (yang tidak ada), yang XML, yang JSON ... Saya ingin tahu berapa banyak bahasa yang diizinkan oleh sumber daya teknis?

beri kesempatan intelephense (dan juga ekstensi PHP lainnya).

Saya akan tetap menggunakan php-intellisense oleh @felixfbecker , karena saya menyukai basis kode, meskipun saya tidak memiliki intellisense HTML (itulah sebabnya saya membakar untuk masalah ini), dan itulah ekstensi fitur resmi (sementara saya telah menggunakannya jauh sebelum itu). Saya suka konsep server bahasa, dan menurut saya server multi bahasa yang bertanggung jawab atas berbagai bagian file adalah langkah selanjutnya untuk meningkatkan konsep tersebut.

@aeschli Menurut Anda, apakah ekstensi dapat membuat bagian html di php berperilaku sama seperti file html mandiri? termasuk biarkan semua plugin untuk html berfungsi dengan baik di bagian itu?
Sistem ekstensi sangat penting seperti yang kita semua tahu, tetapi tidak semua fitur cocok untuk plugin. Apa yang sebenarnya kita butuhkan adalah mengurai satu file menjadi beberapa bahasa dan memperlakukannya secara terpisah. Ini harus menjadi kemampuan bawaan untuk editor kode.

Dan, semua file PHP sebenarnya adalah HTML, dengan ekstensi khususTag HTML. Hanya konten di tag ini yang tidak boleh dianggap sebagai HTML. Ini hanyalah bahasa yang disematkan dalam HTML dan tidak dapat berfungsi tanpanya (kecuali CLI). Jadi pertanyaannya bukan tentang HTML di PHP, HTML adalah wadah utamanya. Dan juga banyak bahasa dapat disematkan di HTML, seperti css javascript vbscript svg perl java, saya rasa tidak ada ekstensi yang dapat melakukan ini tanpa dukungan resmi.

Terima kasih @popcorner. Saya sebenarnya ingin mengatakan hal yang sama, tetapi Anda menulisnya jauh lebih baik. :)

Apakah ada yang tahu bagaimana ST melakukan ini? Bahkan penjelasan tingkat tinggi akan dihargai.

Mari kita pertahankan masalah ini tentang Intellisense HTML di PHP. Saya akan meningkatkan dokumen kami dengan teknik tentang cara mengaktifkan fitur bahasa untuk bahasa yang disematkan. Saya membuat # 47288 sebagai titik awal untuk ini.

@ jens1o Saya mencantumkan beberapa pendekatan dalam deskripsi masalah itu
@paldepind Saya juga menambahkan balasan untuk komentar Anda .

Saya masih tidak nyaman dengan ini. Jadi afaik, masalah ini dapat ditutup karena Anda tidak berencana untuk mengeluarkannya untuk PHP tetapi tetap menggunakan solusi itu?

masalah masih belum ada solusi?

Saya menggunakan Laravel Blade .. Jadi tidak ada tag PHP di sini .. Ingin tahu bagaimana mereka akan mengimplementasikan fitur tersebut ..

Selesai, Tapi saya tidak tahu mengapa ... Mungkin memperbarui php inteliphense atau menggunakan vscode orang dalam ...
test

@victormongi php

@jfnadev Saya tidak tahu cara kerjanya tetapi ini adalah versi vscode dan versi intelephense saya:
image

@victormongi kami memiliki konfigurasi yang sama

@jfnadev ini adalah ekstensi yang saya pasang:
extensions.json:

[
  {
    "metadata": {
      "id": "2cbad5ee-b4ab-4de8-a1c7-77fede846155",
      "publisherId": "patbenatar.advanced-new-file",
      "publisherDisplayName": "patbenatar"
    },
    "name": "advanced-new-file",
    "publisher": "patbenatar",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "697255a9-3f36-44c8-b084-d3b91edfb23a",
      "publisherId": "HookyQR.beautify",
      "publisherDisplayName": "HookyQR"
    },
    "name": "beautify",
    "publisher": "HookyQR",
    "version": "1.3.0"
  },
  {
    "metadata": {
      "id": "9d674f86-f8d2-4fe1-8fa6-a17b40caf4ac",
      "publisherId": "pawelgrzybek.bimbo-theme",
      "publisherDisplayName": "pawelgrzybek"
    },
    "name": "bimbo-theme",
    "publisher": "pawelgrzybek",
    "version": "0.4.5"
  },
  {
    "metadata": {
      "id": "f583eafd-aa0d-4ccb-8f44-d1e610389660",
      "publisherId": "CoenraadS.bracket-pair-colorizer",
      "publisherDisplayName": "CoenraadS"
    },
    "name": "bracket-pair-colorizer",
    "publisher": "CoenraadS",
    "version": "1.0.27"
  },
  {
    "metadata": {
      "id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
      "publisherId": "Shan.code-settings-sync",
      "publisherDisplayName": "Shan"
    },
    "name": "code-settings-sync",
    "publisher": "Shan",
    "version": "2.9.0"
  },
  {
    "metadata": {
      "id": "532533c9-a894-4a58-9eee-bbfbe7c06f71",
      "publisherId": "mikestead.dotenv",
      "publisherDisplayName": "mikestead"
    },
    "name": "dotenv",
    "publisher": "mikestead",
    "version": "1.0.1"
  },
  {
    "metadata": {
      "id": "1946e66b-9eea-45a9-816b-316bf9d7d1ab",
      "publisherId": "Zyst.Egoist-One",
      "publisherDisplayName": "Zyst"
    },
    "name": "Egoist-One",
    "publisher": "Zyst",
    "version": "1.18.0"
  },
  {
    "metadata": {
      "id": "7b71fc1b-190d-4f7d-95d1-93e422649b0a",
      "publisherId": "Zignd.html-css-class-completion",
      "publisherDisplayName": "Zignd"
    },
    "name": "html-css-class-completion",
    "publisher": "Zignd",
    "version": "1.17.1"
  },
  {
    "metadata": {
      "id": "8d5687fe-08f5-4a8e-917a-23aef71db6b3",
      "publisherId": "zhengxiaoyao0716.intelligence-change-case",
      "publisherDisplayName": "zhengxiaoyao0716"
    },
    "name": "intelligence-change-case",
    "publisher": "zhengxiaoyao0716",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "6f35c257-7fd5-4bc2-9cd1-01976589c17a",
      "publisherId": "arcticicestudio.nord-visual-studio-code",
      "publisherDisplayName": "arcticicestudio"
    },
    "name": "nord-visual-studio-code",
    "publisher": "arcticicestudio",
    "version": "0.6.0"
  },
  {
    "metadata": {
      "id": "a41c1549-4053-44d4-bf30-60fc809b4a86",
      "publisherId": "christian-kohler.path-intellisense",
      "publisherDisplayName": "christian-kohler"
    },
    "name": "path-intellisense",
    "publisher": "christian-kohler",
    "version": "1.4.2"
  },
  {
    "metadata": {
      "id": "a439d61f-cd9c-453f-b8c7-186f73d44915",
      "publisherId": "MehediDracula.php-constructor",
      "publisherDisplayName": "MehediDracula"
    },
    "name": "php-constructor",
    "publisher": "MehediDracula",
    "version": "0.0.8"
  },
  {
    "metadata": {
      "id": "044b4b31-2969-4af3-895d-855433b8b46d",
      "publisherId": "felixfbecker.php-debug",
      "publisherDisplayName": "felixfbecker"
    },
    "name": "php-debug",
    "publisher": "felixfbecker",
    "version": "1.12.2"
  },
  {
    "metadata": {
      "id": "5e69f001-f945-4c97-baf0-320d82a153b3",
      "publisherId": "felixfbecker.php-intellisense",
      "publisherDisplayName": "felixfbecker"
    },
    "name": "php-intellisense",
    "publisher": "felixfbecker",
    "version": "2.3.1"
  },
  {
    "metadata": {
      "id": "96fa4707-6983-4489-b7c5-d5ffdfdcce90",
      "publisherId": "esbenp.prettier-vscode",
      "publisherDisplayName": "esbenp"
    },
    "name": "prettier-vscode",
    "publisher": "esbenp",
    "version": "1.2.2"
  },
  {
    "metadata": {
      "id": "e52bce95-a629-455f-8626-e7301b9e372a",
      "publisherId": "robinbentley.sass-indented",
      "publisherDisplayName": "robinbentley"
    },
    "name": "sass-indented",
    "publisher": "robinbentley",
    "version": "1.4.8"
  },
  {
    "metadata": {
      "id": "735af542-944f-4b07-b336-9df27d7b8d84",
      "publisherId": "smlombardi.slime",
      "publisherDisplayName": "smlombardi"
    },
    "name": "slime",
    "publisher": "smlombardi",
    "version": "2.31.2"
  },
  {
    "metadata": {
      "id": "d6ba4b7b-539f-456a-b0f6-0348df44cdf3",
      "publisherId": "nikitaKunevich.snippet-creator",
      "publisherDisplayName": "nikitaKunevich"
    },
    "name": "snippet-creator",
    "publisher": "nikitaKunevich",
    "version": "0.0.4"
  },
  {
    "metadata": {
      "id": "529697b9-b343-4b1c-ba2f-f5ef692132d4",
      "publisherId": "ms-vscode.sublime-keybindings",
      "publisherDisplayName": "ms-vscode"
    },
    "name": "sublime-keybindings",
    "publisher": "ms-vscode",
    "version": "3.0.3"
  },
  {
    "metadata": {
      "id": "a150991b-031b-457a-b823-ef4c45425a1b",
      "publisherId": "karyfoundation.theme-karyfoundation-themes",
      "publisherDisplayName": "karyfoundation"
    },
    "name": "theme-karyfoundation-themes",
    "publisher": "karyfoundation",
    "version": "17.0.0"
  },
  {
    "metadata": {
      "id": "2f5dd8cb-d251-4d70-abfe-ddebcb077483",
      "publisherId": "octref.vetur",
      "publisherDisplayName": "octref"
    },
    "name": "vetur",
    "publisher": "octref",
    "version": "0.11.7"
  },
  {
    "metadata": {
      "id": "d96e79c6-8b25-4be3-8545-0e0ecefcae03",
      "publisherId": "vscodevim.vim",
      "publisherDisplayName": "vscodevim"
    },
    "name": "vim",
    "publisher": "vscodevim",
    "version": "0.11.3"
  },
  {
    "metadata": {
      "id": "d637104e-1fd7-4063-98fc-8afe46012c9b",
      "publisherId": "sleistner.vscode-fileutils",
      "publisherDisplayName": "sleistner"
    },
    "name": "vscode-fileutils",
    "publisher": "sleistner",
    "version": "2.8.1"
  },
  {
    "metadata": {
      "id": "aaee577c-f062-495a-9816-0cbd442f1d25",
      "publisherId": "ecmel.vscode-html-css",
      "publisherDisplayName": "ecmel"
    },
    "name": "vscode-html-css",
    "publisher": "ecmel",
    "version": "0.2.0"
  },
  {
    "metadata": {
      "id": "c46b0018-f317-4b6c-a785-d2039b27338f",
      "publisherId": "wix.vscode-import-cost",
      "publisherDisplayName": "wix"
    },
    "name": "vscode-import-cost",
    "publisher": "wix",
    "version": "2.6.2"
  },
  {
    "metadata": {
      "id": "ffda6552-0ad5-431b-a4fa-0905a7e4f3f0",
      "publisherId": "bmewburn.vscode-intelephense-client",
      "publisherDisplayName": "bmewburn"
    },
    "name": "vscode-intelephense-client",
    "publisher": "bmewburn",
    "version": "0.8.8"
  },
  {
    "metadata": {
      "id": "80e9cc3c-eb09-48ed-afda-f1cfd9c9ca3f",
      "publisherId": "phproberto.vscode-php-getters-setters",
      "publisherDisplayName": "phproberto"
    },
    "name": "vscode-php-getters-setters",
    "publisher": "phproberto",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "9b2c953d-6ad4-46d1-b18e-7e5992d1d8a6",
      "publisherId": "akamud.vscode-theme-onedark",
      "publisherDisplayName": "akamud"
    },
    "name": "vscode-theme-onedark",
    "publisher": "akamud",
    "version": "2.1.0"
  },
  {
    "metadata": {
      "id": "ee33fd31-7bb4-4252-8368-fdd5bcd94cf8",
      "publisherId": "akamud.vscode-theme-onelight",
      "publisherDisplayName": "akamud"
    },
    "name": "vscode-theme-onelight",
    "publisher": "akamud",
    "version": "2.1.0"
  }
]

Sesuatu berubah? Saya mempunyai isu yang sama..

+1 dari saya juga.

Saya tidak percaya masalah lebih dari 3 tahun yang lalu ini masih belum terselesaikan, lebih baik tetap menggunakan SublimeText3

Saya pikir ini adalah fitur yang penting. Saya hanya menunggu itu untuk bermigrasi ke VS Code 😞

Saya tidak yakin kita semua mengacu pada hal yang sama pada saat ini TBH.

Pada hari Senin, 14 Mei 2018 pukul 13.53, Miqueias Penha [email protected]
menulis:

PHP Intelephense
sorot-pencocokan-tag

Kerja! s2

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-388790414 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/APewudsZw-Cu5mpgLrBJ8vUPagFUxB5Rks5tyXApgaJpZM4Gpk-J
.

-
Salam,

Danny Mexen.

vscode tidak peduli tentang php. tolong tambahkan ini.

Saya telah menginstal PHP Intelephense. Masalahnya terpecahkan untuk saya.

https://github.com/bmewburn/vscode-intelephense

Supaya kami jelas di sini.

Kode HTML tidak dapat diformat (Ctrl + Shift + I) dalam file PHP.

@venoel Apakah Anda mengatakan bahwa menginstal PHP Intelephense memungkinkan Anda melakukannya
bahwa?

Pada Rabu, 30 Mei 2018 pukul 20.17, venoel [email protected] menulis:

Saya telah menginstal PHP Intelephense. Masalahnya terpecahkan untuk saya.

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-393264440 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/APewuX-9NlZ3_tgvbVnOADg57CLN0yBlks5t3uItgaJpZM4Gpk-J
.

-
Salam,

Danny Mexen.

@Bayu_joo
Maksud saya, saya mendapatkan saran untuk tag dengan benar dan indentasi diterapkan dengan baik.

Microsoft mengakuisisi GitHub!
tapi masalah ini tetap saja!
hahaha!

@venoel
Dicatat dengan baik. Senang itu berhasil untuk Anda.

Tidak peduli apa yang saya coba, saya tidak bisa memformat kode HTML dalam file PHP.

Pada hari Sen, 4 Jun 2018 pukul 11.00, venoel [email protected] menulis:

@DannyMexen https://github.com/DannyMexen .
Maksud saya, saya mendapatkan saran untuk tag dengan benar dan indentasi diterapkan dengan baik.

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-394283911 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/APewuVJC1tDUt9qWZ2Hjn76-NEQjSC15ks5t5PdBgaJpZM4Gpk-J
.

-
Salam,

Danny Mexen.

VSCode pasti memiliki opsi untuk mengatur 2 atau lebih mode bahasa untuk jenis file tertentu agar memiliki penyorotan sintaks dan intellisense untuk semuanya pada saat yang bersamaan. Anda memilikinya bahkan sekarang dengan 1 contoh VSCode, hanya dalam file yang berbeda dengan mode bahasa yang berbeda. Honeslty Saya tidak tahu mengapa begitu sulit untuk diterapkan. Seseorang bahkan menggunakannya sebelumnya sebagai solusi yang berfungsi meskipun tidak berhasil dan tidak pernah berhasil, tetapi pasti harus:

"files.associations": {
    "*.phtml": ["html", "php"]
}

Ya, sangat setuju @SharakPL. Saya tidak pernah mengerti tanggapan yang diberikan tetapi
Beberapa orang yang lebih pandai daripada saya di sini mengatakan bahwa ini tidak mudah
hal untuk diterapkan. Saya tidak cukup pandai untuk melakukannya sendiri tetapi karena ini
fitur keluar dari kotak dengan ST3 misalnya, saya berharap itu menjadi
fitur default di tempat lain.

Pada Rabu, 6 Juni 2018 pukul 21:33, SharakPL [email protected] menulis:

VSCode pasti memiliki opsi untuk mengatur 2 atau lebih mode bahasa
jenis file tertentu yang memiliki penyorotan sintaks dan intellisense untuk semua
mereka pada saat bersamaan. Anda memilikinya bahkan sekarang dengan 1 contoh VSCode,
hanya di file yang berbeda dengan mode bahasa yang berbeda. Honeslty saya tidak
tahu mengapa begitu sulit untuk diterapkan. Seseorang bahkan menggunakannya sebelumnya sebagai file
solusi yang berfungsi meskipun tidak berhasil dan tidak pernah berhasil, tetapi pasti
Sebaiknya:

"files.associations": {
"* .phtml": ["html", "php"]
}

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-395187031 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/APewuQ4MZdnzRvFyDZC2LSkhfPLVHt7Wks5t6C6XgaJpZM4Gpk-J
.

-
Salam,

Danny Mexen.

setuju @DannyMexen bahkan notepad ++ memilikinya. ini 2018 dan vscode masih belum memiliki fitur ini. Ini gila.

_Tutup masalah ini, Ini tidak akan pernah terjadi._

@bsienn peduli untuk menjelaskan? Mengapa sesuatu yang umum dalam editor teks sederhana tidak mungkin dilakukan di VSCode?

@SharakPL jelaskan? Baca utas MATI berusia 3 tahun, Ini akan menjelaskan kepada Anda bahwa itu tidak akan terjadi.

@bsienn Ada di sana dengan emnet, html di php menggunakan emnet, coba pelajari .. https://docs.emmet.io/ tolong ... tetap berfungsi ...

@ Bsienn jelaskan ini kepada saya: mengapa Anda menyerah harus menjadi alasan untuk menutup masalah ini?

@benyaminl emmet baik-baik saja, tetapi hanya berfungsi saat saya membuat tag baru. Percuma ketika saya perlu mengedit tag yaitu menambahkan beberapa atribut ke link , karena masih belum ada intellisense untuk html di file php

Ah itu pemikiran yang aku coba abaikan hahaha .. lagian itu benar. Masih
ketika saya pikir seseorang mencoba menerapkannya, itu tidak mudah

Dikirim dari My Asus Pegasus X005

Pada tanggal Kam, 14 Jun 2018 19.26, SharakPL [email protected]
menulis:

@bsienn https://github.com/bsienn jelaskan ini kepada saya: mengapa Anda memberi
up harus menjadi alasan untuk menutup utas ini?

@benyaminl https://github.com/benyaminl emmet baik-baik saja, tetapi hanya itu
berfungsi saat saya membuat tag baru. Tidak ada gunanya ketika saya perlu mengedit tag yaitu menambahkan
beberapa atribut ke tautan <# m_4226514043244462616_issuecomment-359139115>,
karena masih belum ada intellisense untuk html di file php

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-397275321 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ACr9NMadCpzlgPV4BjF9uM2kTA4DlOz-ks5t8lZdgaJpZM4Gpk-J
.

Saya mencoba untuk mengubah dari menggunakan Brackets.io ke VS Code karena saya telah membaca begitu banyak hal hebat tentang Intellisense. Fitur dasar ini mencegah saya. Ini membuatku takut bahwa itu akan kembali selama 3 tahun dan tidak ada yang dilakukan.

Adakah yang tahu jika ada plugin atau cara untuk mendaftarkan file .php menggunakan .html auto-complete?

terima kasih atas bantuan Anda.

Ada berita tentang masalah ini?
Saya percaya bahwa hanya melakukan implementasi yang sama dibuat untuk pengeditan campuran dalam file html, di mana html + css + js berfungsi dengan baik.

Alternatif lain adalah dengan mengimplementasikan API Ekstensi dengan cara melihat kutipan file dan mengubah bahasa yang dipilih.

Saya membuat ini karena saya kesal dengan HTML bersarang di PHP, ini harus memformat berdasarkan pengaturan asli apa pun yang Anda miliki untuk html.format dan format editor pada simpan / ketik Format HTML di PHP .

Juga saya mendapatkan pelengkapan otomatis penuh, intellisense melakukannya dengan cara ini.

@ RiFi2Hai ! Saya mencoba memasang ekstensi Anda, tetapi bagi saya tidak ada yang berubah. Dalam deskripsi ditetapkan tidak ada yang harus dilakukan untuk ekstensi ini oleh pekerjaan.

@BxBxEv Hei! Jadi, Anda harus memilikinya
html.format.enable = true
editor.formatOnSave = true
dan pengaturan lain di vscode yang terkait dengan format html atau format editor yang mungkin Anda inginkan, siapkan.

Kemudian ia ingin memformat HTML bersarang dalam file .php, jadi Anda juga perlu memastikan bahwa Anda memiliki file .php dengan beberapa kode seperti ini:

<?php
$hi = true;

?>
<div class="correct-formatting">
                                     <div class="wrong-formatting">
</div>
</div>

Ketika Anda menyimpannya harus memperbaiki div HTML

Jika Anda masih mengalami masalah, beri tahu saya bahwa saya akan membantu Anda menyelesaikannya.

@ RiFi2k terima kasih atas balasannya!
Saya menulis ini di pengaturan pengguna:
"html.format.enable": true, "editor.formatOnSave": true
Setelah itu, saya membuat file php dengan contoh Anda, tetapi tidak berhasil :-(
l213wgru87dzrr

@BxDev Sebenarnya terlihat seperti melakukan tugasnya dengan sempurna

<?php
$hi = true;

?>
<div class="correct-formatting">
                                     <div class="wrong-formatting">
</div>
</div>

untuk

<?php
$hi = true;

?>
<div class="correct-formatting">
        <div class="wrong-formatting">
        </div>
</div>

Itu saja, semoga Anda tidak bingung tentang fungsionalitas

@ RiFi2k ohh yeea :) Saya mengerti :) Maaf tentang itu. Tapi bagi saya, yang sangat penting, adalah menandai pasangan tag dalam dokumen php / html / js / css campuran. Terima kasih atas pekerjaan Anda!

Ini adalah masalah berusia 3 tahun dan perasaan saya tidak akan pernah terselesaikan.
Ini adalah hal mendasar yang harus dimiliki editor dan membuat pekerjaan saya sehari-hari sangat menjengkelkan.

Saya mungkin harus beralih kembali ke ST3, karena saya merasa VScode, terutama belakangan ini, telah bergerak mundur dengan menambahkan semua jenis fitur mewah tetapi mengabaikan masalah intinya.

@TheDutchCoder Ini karena tidak ada orang yang ingin membuat kode PHP akhir-akhir ini, yang merupakan hal yang benar untuk dilakukan. : D

@steebcheen harap tetap pada topik. Terima kasih

@Tyriar Pokoknya apakah ada yang ditugaskan untuk ini? Atau bukan?
EDIT: Oh Sudah ditetapkan .. Oke

@ RiFi2k Halo dan terima kasih telah mencoba membantu! Saya mencoba ekstensi Anda tetapi tidak berhasil. Saya mencoba pengaturan yang Anda berikan, tetapi tetap tidak ada dadu. Mungkin itu tergantung pada formatter php yang digunakan? Ekstensi apa yang Anda sarankan untuk digunakan untuk mengaktifkan pemformatan php?

Oke, pembaruan cepat: Ini berfungsi saat menyimpan, dan itu hebat! Itu tidak bekerja dengan menu konteks klik kanan. Saya kira itu kompromi yang adil :)

Saya pikir masalahnya hanya pada preferensi saya. Ketika saya mencampur kode HTML ke php, formatnya benar-benar berantakan seperti ketika saya menekan tab, ukurannya akan menjadi 4 dan kemudian menambahkan yang baru sekarang ukuran tab 2. Saya ingin beralih dari ST3 ke VSC tetapi ini menghentikan saya dari beralih ke VSC. Saya kira saya harus tetap di ST3 untuk saat ini.

@thanasisHS Maaf baru saja melihat ini.

Ekstensi saya hanya akan berjalan jika format saat simpan dikonfigurasi, dan tidak berjalan sebagai pemformat PHP yang sebenarnya, berjalan di onBeforeSave.

Saya cukup banyak menerbitkan seluruh konfigurasi saya sebagai beberapa inti, merasa bebas butuh waktu berbulan-bulan untuk membuatnya sempurna. Untuk pemformatan saya menggunakan PHPCBF tetapi menggunakan yang ini, saya tahu itu hanya memiliki 300 instalasi tetapi dia memperbarui dan menggabungkan kode dari semua ekstensi phpcbf yang mati, itu uang.
https://marketplace.visualstudio.com/items?itemName=ValeryanM.vscode-phpcbf

Berikut adalah intisari saya, jika ada orang lain yang juga tertarik dengan konfigurasi saya. Itu php, js, scss, css, vue - pemformatan otomatis dan linting dengan eslint, stylelint, phpcbf, phpcs, lebih cantik. Ini adalah ketukan setelah Anda menyiapkan semuanya.

Global
https://gist.github.com/RiFi2k/d43e84788b1798252f30cac28b6f6eda

Proyek
https://gist.github.com/RiFi2k/42e294f3785bdbbc2641c4b18955e16f

Semua dotfiles, composer.json, package.json, php ruleset
https://gist.github.com/RiFi2k/8b753d1f12a36760f3ee6e1322daf708

Menutup masalah ini. Saya telah menjelaskan alasannya dalam uraian masalah di atas.

Terima kasih. Kode semakin rusak setiap hari. Saya pikir Anda di Microsoft keren dengan semua inisiatif FOSS ini, tetapi masih belum independen, tetapi fokus untuk menghasilkan uang dengan mengiklankan Github dan Azure.

@ jens1o Saya bingung, keputusan ini adalah tentang memelihara ekosistem OSS. Ekstensi yang direferensikan adalah proyek OSS, tolong bantu untuk membuatnya lebih baik. Sumber daya tim VS Code tidak terbatas.

Selain itu, mohon jangan lupa Kode Perilaku kita dan mari berkomunikasi dengan cara yang hormat.

Saya hanya tidak mengerti mengapa Anda memprioritaskan tugas di atas yang lain, meskipun komunitas pasti menginginkannya. Saya hanya mendengar "pengurangan masalah" dan "di luar cakupan", dan, oh ya, "sumber daya terbatas" (itulah sebabnya komunitas ada di sini, lol). Tidak ada yang mengeluh tentang hal-hal yang tidak segera hadir, tetapi sedikit lebih fokus pada kebutuhan komunitas pasti akan membantu. Mengapa kita perlu menjaga agar jumlah masalah tetap rendah, meskipun tidak mencemari apa pun? Di mata saya, roadmap Kode melewati sweet spot 2 iterasi yang lalu. Sekarang, ini semua tentang menghasilkan uang (dengan komunitas besar yang diperoleh selama bertahun-tahun; Saya menggunakannya sejak demo pertama Build(); setiap hari) dengan mengintegrasikan produk berbayar dan pihak ketiga (seperti GitHub, yang dimiliki oleh Microsoft).

Saya mengatakan bahwa saya tidak merasa diterima lagi di komunitas ini (dan sejujurnya saya kecewa), saya tidak menyerang Anda secara pribadi dengan cara apa pun, jadi tidak ada alasan untuk merujuk COC di sini. Merupakan bagian dari perangkat lunak FOSS untuk mengadakan diskusi terbuka.

Tetapi berbicara tentang COC, saya akan mengutip ini:

Pahami ketidaksepakatan

Saya tidak mengerti mengapa Anda ingin menutup saya, hanya karena saya tidak setuju dengan politik yang Anda lakukan.

Saya mencoba memahami mengapa Anda mengubah politik Anda, jadi bisakah Anda menjelaskannya?

@egamma Saya rasa alasan Anda untuk menutup masalah ini tidak masuk akal. Saya memahami bahwa kode studio visual tidak dapat dan tidak boleh menyediakan semua fitur di luar kotak, tetapi dukungan HTML untuk bahasa PHP harus menjadi salah satu fitur paling dasar untuk editor PHP. Mungkin sebagian besar fitur untuk PHP harus disediakan oleh ekstensi, tetapi yang ini tidak boleh. Banyak editor memiliki fitur ini, bahkan editor teks sederhana, Notepad ++, memiliki fitur ini. Ini adalah bagian dari tata bahasa PHP dasar, dan Anda tidak dapat menulis PHP tanpanya. Seorang editor tidak boleh mengatakan bahwa ia mendukung PHP tanpa fitur ini, karena ia tidak dapat membaca PHP dengan cara yang benar.

Dan mengapa Javascript di file HTML berfungsi dengan baik dan CSS di HTML berfungsi dengan baik tanpa ekstensi di vscode? Sepertinya vscode memiliki fitur ini tetapi tidak ingin membuat yang serupa untuk PHP, Itu tidak adil.

Fitur ini sangat penting bagi pengguna PHP, dan sebagian besar pengguna tidak akan mencoba mencari masalah ini dan mereka tidak tahu apa-apa tentang ekstensi yang dapat membantu mereka mendapatkan fitur dasar dan yang diperlukan ini. Pengguna ini dapat dengan mudah mendownload editor ini, menginstalnya dan menemukan "bug" ini, kemudian segera menghapusnya dan mendapatkan kesan yang sangat buruk tentang vscode. Mereka tidak akan mengatakan apapun di sini. Semua pengguna yang ingin berbagi pendapat di sini adalah orang-orang yang benar-benar ingin vscode menjadi lebih baik. Perasaan menulis kode PHP tanpa fungsi ini benar-benar terlalu menyakitkan, Anda tidak dapat membedakan blok, Anda harus menghitung tag html secara manual, atau mengonversi format file dari php ke html, dan dari html ke php berkali-kali. Semua bahasa lain yang pernah saya coba di vscode tidak akan memiliki perasaan buruk seperti itu tanpa ekstensi apa pun yang dipasang. Pengguna tidak akan tahu alasannya, mereka hanya peduli dengan pengalaman pengguna. Harap pertimbangkan tentang ini dan lakukan sesuatu, bahkan menambahkan sedikit sorotan juga bagus:

  • memberikan beberapa dukungan dasar untuk HTML, atau
  • menyediakan ekstensi resmi dengan fitur ini dan menginstal secara otomatis saat menggunakan PHP
  • atau bahkan rekomendasi sederhana untuk semua pengguna PHP dan instal ekstensi yang direkomendasikan dengan satu klik, lalu dapatkan fitur ini dan buat vscode dapat benar-benar mendukung PHP

Setuju, @popcorner benar, ini penting untuk

Sekarang saya benar-benar berpikir inti dari seluruh masalah ini terletak pada kenyataan bahwa Anda tidak dapat mendaftarkan beberapa ekstensi pemformatan pada saat yang bersamaan. Pada dasarnya ada semacam perlombaan di kail itu dan hanya satu yang bisa menang, ditambah Anda tidak dapat melihat sebagai pengguna apa yang mencoba berlari kapan, dan mana yang benar-benar berlari. Jadi untuk file PHP, anehnya Anda akan menggunakan ekstensi format yang melakukan kode PHP di atas HTML. Tetapi jika Anda dapat merangkai ekstensi pemformatan dan ada perintah pengait atau sesuatu yang dapat diubah maka Anda dapat mendaftarkan PHP dan HTML dan kemudian menetapkan prioritas / urutan untuk dijalankan terlebih dahulu / terakhir. Misalnya seluruh masalah ini diperbaiki jika Anda bisa ...

Langkah Pertama jalankan PHPCBF atau ekstensi pemformatan PHP serupa.
Langkah Kedua jalankan format js-beautify html yang hanya melompati semua PHP dan hanya melakukan HTML, yang merupakan hal yang sama persis yang saya lakukan di ekstensi saya, Format HTML dalam PHP, untuk memperbaiki masalah. Tetapi saya harus menjalankannya di onBeforeSave daripada menggunakan registrasi pemformatan default, tetapi ini seharusnya tidak menjadi solusinya.

Jadi untuk menyimpulkannya, ini sangat diperlukan, tetapi alih-alih memperbaiki / tidak memperbaiki masalah, mengapa tidak menjelajahi ide saya di atas dan kemudian Anda akhirnya memiliki pengalaman yang jauh lebih baik dengan setiap bahasa dan pemformatan, untuk pengguna dan pengembang ekstensi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

biij5698 picture biij5698  ·  3Komentar

lukehoban picture lukehoban  ·  3Komentar

philipgiuliani picture philipgiuliani  ·  3Komentar

sirius1024 picture sirius1024  ·  3Komentar

villiv picture villiv  ·  3Komentar