typescript - Cum dezactivez: [js] Fișierul este un modul CommonJS; acesta poate fi convertit într-un modul ES6
Următorul este ceea ce vreau să dezactivez:
Nu îl pot găsi în setări.
Ajutorul este apreciat, deoarece acest lucru este cu adevărat enervant.
Răspuns #1
Aceasta este o caracteristică nouă adăugată în Visual Studio Code numită „Acțiuni de cod sugestive”. „Acțiunile de cod sugestive” sunt activate implicit în JavaScript și TypeScript.
Le puteți dezactiva setând: "typescript.suggestionActions.enabled": false sau "javascript.suggestionActions.enabled": false în setările utilizatorului/workspace-ului. Documentația poate fi găsită aici.
Răspunsul #2
Pentru oricine folosește Vim cu coc.nvim, poți face aceeași modificare adăugând același lucru în obiectul :CocConfig:
"javascript.suggestionActions.enabled": false
Dacă nu ați adăugat până acum niciun setare la :CocConfig, atunci trebuie să vă asigurați că setarea de mai sus este încapsulată într-un obiect JSON:
{
"javascript.suggestionActions.enabled": false
}
Răspunsul #3
Pentru oricine folosește Neovim cu LSP nativ și nvim-lspconfig pentru configurarea serverelor de limbaj, puteți dezactiva sugestiile adăugând asta undeva în configurația dvs. pentru tsserver:
require('lspconfig').tsserver.setup({
init_options = {
preferences = {
disableSuggestions = true,
},
},
})
De asemenea, poți folosi pluginul nvim-lsp-ts-utils pentru a filtra acest mesaj de diagnostic specific, menținând în același timp sugestiile active, adăugând acest lucru undeva în configurația ta tsserver:
require('lspconfig').tsserver.setup({
on_attach = function(client, bufnr)
require('nvim-lsp-ts-utils').setup({
filter_out_diagnostics_by_code = { 80001 },
})
require('nvim-lsp-ts-utils').setup_client(client)
end,
})
Răspunsul #4
Alertă! Această abordare ar putea fi prea mult pentru utilizatorii VSCode care iubesc asistența inteligentă la codare. Folosiți-o ca un ajutor simplu și rapid, împreună cu alte utilitare de linting și testare.
Controlul prezenței mesajului respectiv se află în Setări => Extensii => TypeScript. (TypeScript !!! :P)
Așa cum se arată în captura de ecran, am căutat în Setări cu cuvântul cheie „validate”, apoi am făcut clic pe TypeScript. Este primul element.
Răspunsul #5
Dacă proiectul tău este "type": "module" și ai nevoie să ai un fișier CommonJS în el, de exemplu pentru a configura ESLint (care nu suportă ESM la momentul scrierii acestui text), atunci pur și simplu redenumește-l din *.js în *.cjs (sau din *.ts în *.cts, dacă este cazul), și sugestia va dispărea. Remediul pentru acest lucru a fost lansat cu TypeScript 4.5.1 acum aproximativ un an.
Răspunsul #6
De fapt, această sugestie enervantă provine de la TypeScript.
Astfel, pentru a dezactiva această sugestie, poți modifica codul sursă al TypeScript, să îl compilezi, apoi să îi spui vscode să folosească fork-ul tău de TypeScript.
Ca un truc rapid și murdar, pur și simplu elimină logica legată de ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module, apoi compilează proiectul urmând instrucțiunile din README-ul TypeScript.
Compilarea va eșua deoarece eliminarea logicii aferente face ca unele funcții să devină neutilizate, apoi trebuie doar să elimini acele definiții de funcții neutilizate și să recompilezi proiectul (gulp clean && gulp local).
După ce îți compilezi cu succes fork-ul TypeScript, schimbă apoi fișierul tău user settings.json pentru a indica către fork-ul tău vscode:
"typescript.tsdk": "/path/to/your/fork/of/TypeScript/built/local",
Gata.
Repornește-ți vscode, și sugestia enervantă a dispărut.
Poți verifica acest commit pentru a vedea care fișiere sursă TypeScript trebuie modificate.
Atenție: modificarea este rapidă și murdară, folosiți-o pe propriul risc. Dacă găsiți ceva în neregulă, puteți pur și simplu să eliminați configurația tsdk pentru a reveni la TypeScript-ul integrat în vscode.


