Vscode-ng-language-service: v0.1000.0 tidak mendukung tsconfig model-solusi

Dibuat pada 21 Jun 2020  ·  33Komentar  ·  Sumber: angular/vscode-ng-language-service

image

Untuk Mereproduksi

Langkah-langkah untuk mereproduksi perilaku:
git clone https://github.com/keatkeat87/angular-10rc6-language-service-issue.git
pemasangan benang
periksa app.component.html

Perilaku yang diharapkan
harus bisa F12 pergi ke definisi komponen.

CLI Sudut: 10.0.0-rc.5
Node: 12.18.0
OS: win32 x64

Sudut: 10.0.0-rc.6
... animasi, umum, kompilator, kompilator-cli, inti, formulir
... layanan bahasa, platform-browser, platform-browser-dinamis
... router
Ruang Kerja Ivy: Ya

Versi Paket

@ angular-devkit / arsitek 0.1000.0-rc.5
@ angular-devkit / build-angular 0.1000.0-rc.5
@ angular-devkit / build-optimizer 0.1000.0-rc.5
@ angular-devkit / build-webpack 0.1000.0-rc.5
@ angular-devkit / core 10.0.0-rc.5
@ angular-devkit / schematics 10.0.0-rc.5
@ angular / cdk 10.0.0-rc.2
@ angular / cli 10.0.0-rc.5
@ angular / material 10.0.0-rc.2
@ ngtools / webpack 10.0.0-rc.5
@ skema / sudut 10.0.0-rc.5
@ schematics / update 0.1000.0-rc.5
rxjs 6.5.5
naskah ketikan 3.9.5
webpack 4.43.0

bug

Komentar yang paling membantu

Saya akan memperbaikinya di @ angular / language-service v10.0.1 yang akan dirilis 1 Juli 2020.

Semua 33 komentar

Bisakah Anda memberikan keluaran dan log ekstensi?

Bagaimana cara melakukannya ?

Tentu, lihat bagian "Log" di template masalah :

Harap lampirkan dua log:

Output konsol (Pergi ke toolbar -> View -> Output, dan salin isinya)
File log (Jalur dicetak ke output konsol saat startup)

[Info - 7:35:19 am] ID proses server bahasa sudut: 16852
[Info - 7:35:19 pagi] Menggunakan skrip ketikan v3.8.3 dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.901.11 \ node_modules \ typescript \ lib \ tsserverlibrary.js
[Info - 7:35:19 am] Menggunakan @ angular / language-service v9.1.11 dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.901.11 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js
[Info - 7:35:19] File log: c: \ Users \ keatk \ AppData \ Roaming \ Code \ logs \ 20200622T073458 \ exthost1 \ Angular.ng-template \ nglangsvc.log
[Info - 7:35:29 am] Menonaktifkan layanan bahasa untuk c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json karena ini bukan proyek Angular ('@angular/core/core.d .ts 'tidak dapat ditemukan). Jika Anda yakin Anda melihat pesan ini karena kesalahan, harap instal ulang paket di package.json Anda.
[Kesalahan - 7:35:29] Tidak ada file konfigurasi untuk c: \ keatkeat \ my projects \ angular \ 10.0 \ simple-test \ src \ app \ app.component.ts

Oke terima kasih. Sepertinya versi ekstensi Anda tidak menggunakan rc versi 10. Jika Anda ingin menggunakan aplikasi Angular 10 dengan ekstensi layanan bahasa VSCode Angular, Anda perlu memuat install v0.1000.0-rc ekstensi tersebut. Petunjuk cara melakukannya dapat ditemukan di https://github.com/angular/vscode-ng-language-service/issues/793#issuecomment -636136958.

Beri tahu saya jika itu menyelesaikan masalah Anda.

saya baru saja selesai menginstal, tetapi masih tidak berfungsi.

image


Keluaran log

Catatan:
Info 0 [8: 0: 52.551] Format informasi host diperbarui
Info 1 [8: 0: 52.552] memuat ulang proyek.
Info 2 [8: 0: 52.552] Sebelum sureProjectForOpenFiles:
Info 3 [8: 0: 52.552] Setelah sureProjectForOpenFiles:
Info 4 [8: 0: 52.552] Pemetaan ekstensi file host diperbarui
Info 5 [8: 0: 52.567] Jalur pencarian: c: / keatkeat / my projects / angular / 10.0 / simple-test / src / app
Info 6 [8: 0: 52.569] Untuk info: c: / keatkeat / my projects / angular / 10.0 / simple-test / src / app / app.component.html :: Nama file config: c: / keatkeat / my projects /angular/10.0/simple-test/tsconfig.json
Info 7 [8: 0: 52.570] File konfigurasi dibuka c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json
Info 8 [8: 0: 52.587] Konfigurasi: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json: {
"rootNames": [],
"pilihan": {
"configFilePath": "c: / keatkeat / proyek saya / angular / 10.0 / simple-test / tsconfig.json"
},
"projectReferences": [
{
"path": "c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json",
"originalPath": "./tsconfig.app.json"
},
{
"path": "c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json",
"originalPath": "./tsconfig.spec.json"
},
{
"path": "c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json",
"originalPath": "./e2e/tsconfig.json"
}
]
}
Info 9 [8: 0: 52.588] Memuat plugin global @ angular / bahasa-layanan
Info 10 [8: 0: 52.588] Mengaktifkan plugin @ angular / language-service dari jalur kandidat: c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language-service \ bundles \ language-service.umd.js, c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/node_modules/typescript/lib/tsserverlibrary .js /../../ ..
Info 11 [8: 0: 52.589] Memuat layanan @ angular / bahasa dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js (diselesaikan menjadi c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/server/node_modules/@angular/language- layanan / bundel / bahasa-service.umd.js / node_modules)
Info 12 [8: 0: 52.724] Validasi plugin berhasil
Info 13 [8: 0: 52.761] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json
Info 14 [8: 0: 52.830] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json Versi: 1 structureChanged: true Elapsed: 69ms
Info 15 [8: 0: 52.830] Project 'c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json' (Dikonfigurasi)
Info 16 [8: 0: 52.830] File (0)

Info 17 [8: 0: 52.830] ----------------------------------------- ------
Info 18 [8: 0: 52.831] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json
Info 19 [8: 0: 52.832] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json Versi: 2 structureChanged: false Elapsed: 1ms
Info 20 [8: 0: 52.835] Menonaktifkan layanan bahasa untuk c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.json karena ini bukan proyek Angular ('@ angular / core / core.d. ts 'tidak dapat ditemukan). Jika Anda yakin Anda melihat pesan ini karena kesalahan, harap instal ulang paket di package.json Anda.
Info 21 [8: 0: 52.835] Membuka file konfigurasi c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json
Info 22 [8: 0: 52.848] Konfigurasi: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json: {
"rootNames": [
"c: / keatkeat / my projects / angular / 10.0 / simple-test / src / main.ts",
"c: / keatkeat / my projects / angular / 10.0 / simple-test / src / polyfills.ts"
],
"pilihan": {
"baseUrl": "c: / keatkeat / my projects / angular / 10.0 / simple-test",
"outDir": "c: / keatkeat / my projects / angular / 10.0 / simple-test / out-tsc / app",
"sourceMap": benar,
"deklarasi": salah,
"downlevelIteration": benar,
"eksperimentalDecorators": benar,
"moduleResolution": 2,
"importHelpers": true,
"target": 2,
"modul": 6,
"lib": [
"lib.es2018.d.ts",
"lib.dom.d.ts"
],
"jenis": [],
"configFilePath": "c: / keatkeat / proyek saya / angular / 10.0 / simple-test / tsconfig.app.json"
}
}
Info 23 [8: 0: 52.849] Memuat plugin global @ angular / bahasa-layanan
Info 24 [8: 0: 52.849] Mengaktifkan plugin @ angular / layanan-bahasa dari jalur kandidat: c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language-service \ bundles \ language-service.umd.js, c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/node_modules/typescript/lib/tsserverlibrary .js /../../ ..
Info 25 [8: 0: 52.849] Memuat layanan @ angular / bahasa dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js (diselesaikan menjadi c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/server/node_modules/@angular/language- layanan / bundel / bahasa-service.umd.js / node_modules)
Info 26 [8: 0: 52.862] Validasi plugin berhasil
Info 27 [8: 0: 52.865] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json
Info 28 [8: 0: 56.426] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json Versi: 1 structureChanged: true Elapsed: 3561ms
Info 29 [8: 0: 56.426] Proyek 'c: / keatkeat / proyek saya / angular / 10.0 / simple-test / tsconfig.app.json' (Dikonfigurasi)
Info 30 [8: 0: 56.426] File (307)

Info 31 [8: 0: 56.426] ----------------------------------------- ------
Info 32 [8: 0: 56.427] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json
Info 33 [8: 0: 56.432] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.app.json Versi: 2 structureChanged: false Elapsed: 5ms
Info 34 [8: 0: 56.434] Membuka file konfigurasi c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json
Info 35 [8: 0: 56.449] Konfigurasi: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json: {
"rootNames": [
"c: / keatkeat / my projects / angular / 10.0 / simple-test / src / test.ts",
"c: / keatkeat / my projects / angular / 10.0 / simple-test / src / polyfills.ts"
],
"pilihan": {
"baseUrl": "c: / keatkeat / my projects / angular / 10.0 / simple-test",
"outDir": "c: / keatkeat / my projects / angular / 10.0 / simple-test / out-tsc / spec",
"sourceMap": benar,
"deklarasi": salah,
"downlevelIteration": benar,
"eksperimentalDecorators": benar,
"moduleResolution": 2,
"importHelpers": true,
"target": 2,
"modul": 6,
"lib": [
"lib.es2018.d.ts",
"lib.dom.d.ts"
],
"jenis": [
"melati"
],
"configFilePath": "c: / keatkeat / proyek saya / angular / 10.0 / simple-test / tsconfig.spec.json"
}
}
Info 36 [8: 0: 56.450] Memuat plugin global @ angular / bahasa-layanan
Info 37 [8: 0: 56.450] Mengaktifkan plugin @ angular / language-service dari jalur kandidat: c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language-service \ bundles \ language-service.umd.js, c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/node_modules/typescript/lib/tsserverlibrary .js /../../ ..
Info 38 [8: 0: 56.450] Memuat layanan @ angular / bahasa dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js (diselesaikan menjadi c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/server/node_modules/@angular/language- layanan / bundel / bahasa-service.umd.js / node_modules)
Info 39 [8: 0: 56.464] Validasi plugin berhasil
Info 40 [8: 0: 56.466] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json
Info 41 [8: 0: 57.389] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json Versi: 1 structureChanged: true Elapsed: 923ms
Info 42 [8: 0: 57.389] Project 'c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json' (Dikonfigurasi)
Info 43 [8: 0: 57.389] File (99)

Info 44 [8: 0: 57.389] ----------------------------------------- ------
Info 45 [8: 0: 57.390] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json
Info 46 [8: 0: 57.391] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / tsconfig.spec.json Versi: 2 structureChanged: false Elapsed: 1ms
Info 47 [8: 0: 57.392] Membuka file konfigurasi c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json
Info 48 [8: 0: 57.399] Konfigurasi: c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json: {
"rootNames": [
"c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / src / app.e2e-spec.ts",
"c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / src / app.po.ts"
],
"pilihan": {
"baseUrl": "c: / keatkeat / my projects / angular / 10.0 / simple-test",
"outDir": "c: / keatkeat / my projects / angular / 10.0 / simple-test / out-tsc / e2e",
"sourceMap": benar,
"deklarasi": salah,
"downlevelIteration": benar,
"eksperimentalDecorators": benar,
"moduleResolution": 2,
"importHelpers": true,
"target": 5,
"modul 1,
"lib": [
"lib.es2018.d.ts",
"lib.dom.d.ts"
],
"jenis": [
"melati",
"jasminewd2",
"node"
],
"configFilePath": "c: / keatkeat / proyek saya / angular / 10.0 / simple-test / e2e / tsconfig.json"
}
}
Info 49 [8: 0: 57.400] Memuat plugin global @ angular / language-service
Info 50 [8: 0: 57.400] Mengaktifkan plugin @ angular / language-service dari jalur kandidat: c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language-service \ bundles \ language-service.umd.js, c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/node_modules/typescript/lib/tsserverlibrary .js /../../ ..
Info 51 [8: 0: 57.400] Memuat layanan @ angular / bahasa dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js (diselesaikan menjadi c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/server/node_modules/@angular/language- layanan / bundel / bahasa-service.umd.js / node_modules)
Info 52 [8: 0: 57.421] Validasi plugin berhasil
Info 53 [8: 0: 57.424] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json
Info 54 [8: 0: 58.886] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json Versi: 1 structureChanged: true Elapsed: 1462ms
Info 55 [8: 0: 58.886] Project 'c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json' (Dikonfigurasi)
Info 56 [8: 0: 58.886] File (123)

Info 57 [8: 0: 58.886] ----------------------------------------- ------
Info 58 [8: 0: 58.887] Memulai updateGraphWorker: Project: c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json
Info 59 [8: 0: 58.889] Finishing updateGraphWorker: Proyek: c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json Versi: 2 structureChanged: false Elapsed: 2ms
Info 60 [8: 0: 58.890] Menonaktifkan layanan bahasa untuk c: / keatkeat / my projects / angular / 10.0 / simple-test / e2e / tsconfig.json karena ini bukan proyek Angular ('@ angular / core / core. d.ts 'tidak dapat ditemukan). Jika Anda yakin Anda melihat pesan ini karena kesalahan, harap instal ulang paket di package.json Anda.
Info 61 [8: 0: 58.891] Memuat plugin global @ angular / bahasa-layanan
Info 62 [8: 0: 58.891] Mengaktifkan plugin @ angular / language-service dari jalur kandidat: c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language-service \ bundles \ language-service.umd.js, c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/node_modules/typescript/lib/tsserverlibrary .js /../../ ..
Info 63 [8: 0: 58.891] Memuat layanan @ angular / bahasa dari c: \ Users \ keatk.vscode \ extensions \ angular.ng-template-0.1000.0-rc.1 \ server \ node_modules \ @angular \ language -service \ bundles \ language-service.umd.js (diselesaikan menjadi c: /Users/keatk/.vscode/extensions/angular.ng-template-0.1000.0-rc.1/server/node_modules/@angular/language- layanan / bundel / bahasa-service.umd.js / node_modules)
Info 64 [8: 0: 58.904] Validasi plugin berhasil
Info 65 [8: 0: 58.910] Memulai updateGraphWorker: Project: / dev / null / inferredProject1 *
Info 66 [8: 0: 59.911] Menyelesaikan updateGraphWorker: Project: / dev / null / inferredProject1 * Versi: 1 structureChanged: true Elapsed: 1001ms
Info 67 [8: 0: 59.911] Proyek '/ dev / null / inferredProject1 *' (Tereka)
Info 68 [8: 0: 59.911] File (100)

Info 69 [8: 0: 59.911] ----------------------------------------- ------

Dapatkah Anda mengonfirmasi bahwa penyelesaian otomatis / buka referensi tidak berfungsi?

yup, Anda dapat mengkloning repositori saya, saya telah memperbarui ke yang terbaru
issue1

Menarik, saya kira file dari referensi proyek tidak diteruskan dengan benar ke tsconfig gaya solusi, yang mengambil kepemilikan untuk proyek tersebut. Memperbaiki ini membutuhkan investigasi lebih lanjut. Sementara itu, solusinya adalah mengomentari files: [] di bagian utama tsconfig.json .

cc @yliau

Agak heran ini tidak dilaporkan sebelumnya

setelah saya mencoba mengerjakannya, beri komentar file: []
kesalahan lain keluar.
image
dan
image

@kyliau , metode getDefaultProjectForScriptInfo melampirkan file eksternal ke proyek yang salah saat menggunakan tsconfig gaya-solusi. Ini melampirkan file app.component.html ke tsconfig.json alih-alih tsconfig.app.json proyek

Ini berfungsi seperti yang diharapkan ketika plugin layanan bahasa memiliki implementasi GetExternalFiles () .

@ andrius-pra terima kasih atas penyidikannya. Ya, saya dapat mengonfirmasi temuan Anda.

Masalahnya di sini adalah bahwa dengan file template Angular (.html), layanan bahasa bergantung pada leluhur terdekat tsconfig.json untuk menentukan Proyek miliknya.
Ia bekerja dengan baik sebelum tsconfig gaya solusi diperkenalkan, dan umumnya lebih berkinerja karena mengurangi overhead dalam layanan bahasa tanpa menanyakan getExternalFiles() pada setiap ts.Program pembaruan.
Dengan tsconfig gaya-solusi, root tsconfig.json sendiri tidak menyertakan file apa pun, dan bertindak lebih seperti "shell" dari subproyek. Dalam kasus ini, secara praktis tidak ada cara untuk ekstensi Angular untuk menentukan sub-proyek mana dari templat Angular, kecuali sub-proyek itu sendiri menyatakan templat tersebut sebagai file eksternal.
Menurut saya, taruhan terbaik kita di sini adalah mengembalikan getExternalFiles() .

Secara terpisah, tim CLI telah menerima laporan kelambatan dalam performa IDE saat tsconfig model solusi digunakan.
Masalah ini terlacak di https://github.com/microsoft/TypeScript/issues/39144
@ alan-agius4 mengusulkan agar kami menambahkan tsconfig.json ke setiap aplikasi. Itu juga akan menyelesaikan masalah ini, dengan satu-satunya pengecualian dalam kasus di mana ruang kerja itu sendiri adalah aplikasi (root tsconfig.json dicadangkan untuk tsconfig gaya solusi).

@ alan-agius4 mengusulkan agar kita menambahkan tsconfig.json ke setiap aplikasi

apakah ini sesuatu yang CLI lakukan?

@kyliau tingkat proyek tsconfig.json akan tetap menjadi file konfigurasi skrip gaya solusi. Jadi itu tidak akan memperbaiki masalah.

@ andrius-pra, memang ini tidak dapat diperbaiki dengan menghapus files: [] karena ini mengubah sematika file tsconfig root dari file tsconfig solusi menjadi file tsconfig proyek gabungan.

@ayazhafiz , ya, CLI akan memperbarui ruang kerja dan membuat file tsconfig baru.

Saya akan memperbaikinya di @ angular / language-service v10.0.1 yang akan dirilis 1 Juli 2020.

https://github.com/angular/angular/pull/37750 telah dibuat untuk memulihkan getExternalFiles() .

Untuk pengguna yang tertarik untuk mengetahui mengapa perbaikan ini tidak dikirimkan di v0.1000.0, itu karena kita telah memasuki periode "kode dibekukan" dalam tahap rilis RC ketika masalah ini diajukan. Saya minta maaf kepada siapa pun yang mencoba Angular v10 dan merasa frustrasi karena layanan bahasa tidak berfungsi di luar kotak (untuk proyek baru). Maaf untuk ketidaknyamanannya.

Ke depannya, kami akan menerapkan integrasi yang lebih erat antara layanan bahasa dan CLI, sehingga kami dapat mendeteksi masalah seperti ini lebih cepat.

Buka kembali ini sampai perbaikan dirilis minggu depan.

Ini telah diperbaiki di v0.1000.1 yang baru saja dirilis.
https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1000.1
Saya akan menutup masalah ini untuk saat ini, buka masalah baru jika Anda mengalami masalah dengan tsconfig model solusi.

@kyliau lihat komentar saya di sini https://github.com/angular/angular/issues/37781#issuecomment -650508843. Ini masih belum berhasil.

@JohnnyDevNull , dapatkah Anda memberikan output Konsol (Pergi ke toolbar -> View -> Output, dan salin isinya)?
Apakah ini berfungsi di proyek baru?

npm install -g @angular/cli
ng new ng10
code ng10

@ andrius-pra lihat masalah saya ditautkan di atas. Saya telah melakukan proses yang sama seperti yang dijelaskan di sana segar dan bersih. Juga dengan cli sudut terpasang yang segar.

Sunting: omong-omong saya juga sudah melakukan uninstall dan install ulang angular-cli secara global

@JohnnyDevNull Bisakah Anda menunjukkan output konsol? Ini akan terlihat seperti ini

Screen Shot 2020-06-27 at 7 44 03 AM

@kyliau ini dia:

image

Sunting: Ini adalah instalasi baru yang lengkap, juga setelah menginstal ulang cli secara global
Sunting 2: Oh, saya benar-benar menggunakan CodeOSS karena saya menggunakan Manjaro KDE jika itu penting

@JohnnyDevNull Sepertinya Angular LS diaktifkan pada tsconfig.app.json , tetapi Anda mengharapkan pelengkapan otomatis untuk komponen / perintah pustaka , yang mungkin ada di proyek lain (dikonfigurasi dengan tsconfig.*.json )?

@kyliau apa yang telah saya lakukan adalah

tldr; Saya pikir Anda harus melaporkan masalah https://github.com/angular/angular/issues/37781 karena ambang tidak berfungsi

ng new ng-test --create-application=false --skipGit
ng g library my-test --prefix=mt
ng g library my-test2 --prefix=mt2
ng g application my-tester --routing=true --style=scss
ng build --project=my-test
ng build --project=my-test2

saat Anda sekarang mengimpor MyTestModule ke AppModule di Aplikasi my-tester, tidak ada pencocokan jalur yang berfungsi.
Dan juga langsung dari kotak warisan tsconfig.base.json tidak berfungsi karena kesalahan dekorator.

Semua file dihasilkan secara otomatis dari cli dan tidak dimodifikasi dari saya!

Kesalahannya sama dengan versi yang diperbarui seperti yang disebutkan dalam masalah saya:

image

Saya telah melakukan pengaturan Angular-Cli yang bersih untuk memastikan bahwa tidak ada konfigurasi saya dalam proyek perpustakaan saya yang merusak sesuatu.
Tapi ini seperti yang saya sebutkan tidak berfungsi langsung dari kotak dengan Template Angular yang dihasilkan secara otomatis dari cli dan scaffholding skema.

Omong-omong, itu benar bahwa Angular LS memuat tsconfig.app.json. Ini mewarisi dari tsconfig.base.json dan di sana pencocokan jalur dikonfigurasi.

tsconfig.app.json

/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "extends": "../../tsconfig.base.json",
  "compilerOptions": {
    "outDir": "../../out-tsc/app",
    "types": []
  },
  "files": [
    "src/main.ts",
    "src/polyfills.ts"
  ],
  "include": [
    "src/**/*.d.ts"
  ]
}

tsconfig.base.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ],
    "paths": {
      "my-test": [
        "dist/my-test/my-test",
        "dist/my-test"
      ]
    }
  }
}

tsconfig.json (solusi tsconfig)

/*
  This is a "Solution Style" tsconfig.json file, and is used by editors and TypeScript’s language server to improve development experience.
  It is not intended to be used to perform a compilation.

  To learn more about this file see: https://angular.io/config/solution-tsconfig.
*/
{
  "files": [],
  "references": [
    {
      "path": "./projects/my-test/tsconfig.lib.json"
    },
    {
      "path": "./projects/my-test/tsconfig.spec.json"
    },
    {
      "path": "./projects/my-tester/tsconfig.app.json"
    },
    {
      "path": "./projects/my-tester/tsconfig.spec.json"
    },
    {
      "path": "./projects/my-tester/e2e/tsconfig.json"
    }
]
}

@JohnnyDevNull , Apakah Anda menghapus "files": [], dari tsconfig.json di direktori root?

Saya tidak mendapatkan kesalahan apa pun. Saya melakukan langkah-langkah ini:

Buat ruang kerja:

ng new ng-test --create-application=false --skipInstall --skipGit
cd ng-test
ng g library my-test --prefix=mt
ng g library my-test2 --prefix=mt2
ng g application --name my-tester --routing=false --style=css
ng build --project=my-test
ng build --project=my-test2
code . projects\my-tester\src\app\app.module.ts

tambahkan impor ke app.module.ts:

import { MyTestModule } from 'my-test'
import { MyTest2Module } from 'my-test2'

keluaran konsol:

[Info  - 19:08:58] Angular language server process ID: 24660
[Info  - 19:08:58] Using typescript v3.9.5 from c:\Users\Andrius\.vscode\extensions\angular.ng-template-0.1000.1\node_modules\typescript\lib\tsserverlibrary.js
[Info  - 19:08:58] Using @angular/language-service v10.0.1 from c:\Users\Andrius\.vscode\extensions\angular.ng-template-0.1000.1\server\node_modules\@angular\language-service\bundles\language-service.umd.js
[Info  - 19:08:58] Log file: c:\Users\Andrius\AppData\Roaming\Code\logs\20200627T190857\exthost3\Angular.ng-template\nglangsvc.log
[Info  - 19:09:02] Disabling language service for d:/a/ng-test/tsconfig.json because it is not an Angular project ('@angular/core/core.d.ts' could not be found). If you believe you are seeing this message in error, please reinstall the packages in your package.json.
[Info  - 19:09:02] Enabling language service for d:/a/ng-test/projects/my-test/tsconfig.lib.json.
[Info  - 19:09:02] Enabling language service for d:/a/ng-test/projects/my-test/tsconfig.spec.json.
[Info  - 19:09:02] Enabling language service for d:/a/ng-test/projects/my-test2/tsconfig.lib.json.
[Info  - 19:09:02] Enabling language service for d:/a/ng-test/projects/my-test2/tsconfig.spec.json.
[Info  - 19:09:02] Enabling language service for d:/a/ng-test/projects/my-tester/tsconfig.app.json.

@ andrius-pra

https://github.com/angular/vscode-ng-language-service/issues/824#issuecomment -650579235

Semua file dihasilkan secara otomatis dari cli dan tidak dimodifikasi dari saya!

Catatan : tolong jangan hapus "files": [] ini mengubah sematika dan arti dari root tsconfig. Saat menghapus larik kosong Anda memilih keluar dari gaya solusi tsconfig.

Menghapus ini, akan menyebabkan perilaku tidak terdefinisi, dan sama sekali tidak didukung.

Saya pikir apa yang Anda alami terdengar mirip dengan https://github.com/angular/angular-cli/issues/16708

Apakah masalah yang sama terus berlanjut saat memulai ulang LS?

Saya pikir saya telah menemukan masalah untuk VSCode:

VSCode (Atau dalam kasus saya, Kode OSS) menggunakan default TypeScript 3.8.3 yang dikirim sekarang yang tidak mendukung konfigurasi solusi dengan pewarisan.

Saya sudah memasukkannya ke settings.json, sehingga versi ruang kerja digunakan

{
  "typescript.tsdk": "node_modules/typescript/lib"
}

Output saya masih sama, tetapi kesalahannya hilang:

image

@JohnnyDevNull , memang Anda perlu memastikan bahwa Anda memaksa VSCode untuk menggunakan paket TypeScript tingkat proyek.

@ alan-agius4 apakah Anda yakin ini telah memperbaiki masalah? Saya menggunakan versi stabil terbaru dari Semua yang dapat saya perbarui. Dependensi dan plugin vscode + dan masalah tetap ada, bahkan dengan versi 10.0.1, ketika file yang disebutkan: [] ada di root tsconfig.json, VScode tidak akan menyelesaikan apa pun secara otomatis.

EDIT: ini berfungsi, hanya saja saya memiliki lebih dari satu tsconfig (tsconfig.app.json dan tsconfig.demo.json) dan memiliki beberapa skenario pengecualian, sekarang VScode menolak untuk mengimpor modul dalam file yang dikecualikan, yang menurut saya salah.

Contoh, saya mengecualikan semua file di tsconfig.app.json di bawah jalur src/app/demo/** tetapi tidak dikecualikan di tsconfig.demo.json (karena saya memiliki lebih banyak target pembuatan) dan VScode tidak akan pernah menawarkan bantuan kepada saya dalam src/app/demo/** , saat ini saya sedang memikirkan tentang cara menyelesaikannya.

Hal lain yang penting adalah include: [] di tsconfig.app.json, angular 10 sekarang defautls ke nilai * .d.ts dibandingkan dengan * .ts sebelum menyebabkan VScode tidak melintasi banyak file jika * .d.ts dibiarkan di sana atau menyertakan array yang sepenuhnya dihilangkan. Dalam skenario mana pun, kompilasi selalu berhasil hanya plugin VScode yang bermasalah.

Masalah ini telah dikunci secara otomatis karena tidak ada aktivitas.
Ajukan masalah baru jika Anda mengalami masalah yang serupa atau terkait.

Baca lebih lanjut tentang kebijakan penguncian percakapan otomatis kami.

_Tindakan ini telah dilakukan secara otomatis oleh bot._

Apakah halaman ini membantu?
0 / 5 - 0 peringkat