[英]Invalid prettier configuration file detected in VS Code
在 vmware workstation 17 pro 中啟動運行 xubuntu 的虛擬機。 開始在 VS Code 中的 Odin 項目中進行練習,事先通過 sudo apt-get update 和 upgrade 更新和升級。 開始工作並注意到我更漂亮的規則在保存時沒有格式化。
出現以下錯誤:
["INFO" - 5:58:23 AM] Formatting completed in 6ms.
["INFO" - 5:58:30 AM] Formatting file:///home/t/repos/css-exercises/flex/03-flex-header-2/style.css
["ERROR" - 5:58:30 AM] Invalid prettier configuration file detected.
["ERROR" - 5:58:30 AM] No loader specified for extension ".prettierrc"
Error: No loader specified for extension ".prettierrc"
at Explorer.getLoaderEntryForFile (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8194:17)
at Explorer.loadFileContent (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8448:29)
at Explorer.createCosmiconfigResult (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8453:40)
at runLoad (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8464:37)
at async cacheWrapper (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8294:22)
at async Promise.all (index 0)
at async t.ModuleResolver.getResolvedConfig (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:5693)
at async t.default.format (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:13308)
at async t.PrettierEditProvider.provideEdits (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:11417)
at async B.provideDocumentFormattingEdits (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:94:45902)
["ERROR" - 5:58:30 AM] Invalid prettier configuration file detected. See log for details.
查看用戶設置,格式化程序不正確,然后我將其切換為更漂亮的代碼格式化程序。 仍然沒有任何效果。 卸載並重新安裝更漂亮,沒有任何變化。 嘗試禁用並重新啟用擴展。 嘗試打開和關閉更漂亮:使用編輯器配置,更漂亮:解析全局模塊,更漂亮:需要配置。 沒變化。
目前該文件位於 /home/t/repos/ 中,我還嘗試復制並粘貼到項目目錄中並添加到 vs 代碼的工作區中。 旁注,在 /repos 文件夾中也是 node_modules 目錄。 eslintrc.prettierrc 和 prettier.eslintrc 文件已正確命名並且保持完整。 我嘗試解決此問題的方法是通過 settings.JSON 將配置路徑直接添加到 repos 目錄中的文件。 這是我當前的 settings.JSON 文件:
{
"workbench.colorTheme": "Default Dark+",
"editor.guides.bracketPairs": true,
"workbench.iconTheme": "vscode-icons",
"editor.linkedEditing": true,
"security.workspace.trust.untrustedFiles": "open",
"prettier.configPath": "/home/t/repos/eslintrc.prettierrc",
"[javascript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"gitlens.hovers.currentLine.over": "line",
"liveServer.settings.donotShowInfoMsg": true,
"liveServer.settings.AdvanceCustomBrowserCmdLine": "/opt/firefox/firefox",
"editor.formatOnSave": true,
"prettier.useEditorConfig": false
}
我最初是從哪里獲得這些配置的? 直接來自本指南: https://vicvijayakumar.com/blog/eslint-airbnb-style-guide-prettier#4-install-the-airbnb-style-config-for-eslint-and-all-dependencies
旁注:更漂亮:更漂亮模塊的更漂亮路徑目前是空白的。 插入文件路徑不起作用,因為我認為這與節點模塊相關?
請問有人對如何解決這種情況有任何建議嗎? 我已經嘗試了遇到的所有解決方案。 非常感謝我能得到的任何幫助。
了解您配置的"settings.json"
很有幫助。 您需要確保您的工作區".vscode/settings.json"
文件和您的用戶"settings.json"
文件(路徑取決於您運行的操作系統)配置為和諧工作,並且不會覆蓋另一個具有相同配置的兩次。
刪除您添加到“./settings.json”文件中的所有配置以更漂亮。 這些設置是由擴展作者添加的。 盡管esbenp.prettier-vscode
是 VS Code 的官方 prettier 擴展,但 Prettier 從未打算通過 VS Code 的配置文件進行配置。 Prettier 對其"./.prettierrc"
配置文件非常挑剔。 當我們嘗試使用擴展在某處生成的更漂亮的配置時,我們使用 VS Code 配置( "settings.json"
)。 如果您最終在某些項目工作區 vscode 配置(例如".vscode/settings.json"
文件)中設置了設置,則每次加載更漂亮的設置時,擴展都會嘗試重新生成一個文件。 它甚至可能會嘗試加載多個,具體取決於您的 settings.json 文件中的 scope。 它必須如何處理用戶范圍的 settings.json 文件應該始終被工作區“settings.json”配置文件覆蓋。 更不用說更漂亮的配置通常在“.prettierrc”配置文件中包含自己的覆蓋規則集。
"prettier.configPath"
設置。 _我要停止掉入兔子洞,希望你明白我的意思,即:不要使用 VS Code settings.json
配置文件來配置“更漂亮”。
以下內容將幫助您配置一個干凈的環境,Prettier 將在您配置的環境中正常工作。
開始...
settings.json
文件的所有 Prettier 設置。 這包括您添加到項目“.vscode/settings.json”文件的任何 Prettier 設置,尤其包括您添加到用戶“settings.json”文件的所有 Prettier 設置。 完成后,重新加載 VS Code,將其完全關閉,然后重新打開。此外,請確保所有選項卡也已關閉。
此時你的 VS Code 實例應該是完全空的,完全是空白 canvas。從這里你將要創建一個新文件。 去做這個...
你有兩個選擇之一
一旦你提示 VS Code 創建一個新文件,VS Code 將要求你選擇一個位置來創建它。 位置無關緊要,只要它在一個完全空的文件中,沒有其他內容即可。 為了給文件命名,VS Code 可能會使用通常被稱為快速輸入菜單的下拉菜單。 該文件需要是一個 JavaScript 文件,因此,該文件必須以文件擴展名".js"
結尾。 所以我可以稍后引用該文件,我將調用我的"main.js"
,但你可以隨意調用你的文件,只要你在閱讀"main.js"
時知道我引用的是哪個文件。
在與"main.js"
相同的文件夾中,再創建一個沒有文件擴展名的新文件。 這個文件必須有名字......
.prettierrc
注意: “該文件的名稱中有一個句點(或點)作為第一個字符(這使其成為一個隱藏文件)。”
{
"trailingComma": "es5",
"tabWidth": 4,
"semi": true,
"singleQuote": true
}
$ npm init
"package.json"
文件。 $ sudo npm i -g prettier && npm i -D prettier // Or you can execute it as two commands, like this: $ sudo npm i -g prettier $ npm i -D prettier
注意: “確保您已將 prettier 安裝為 vscode 擴展程序。並確保您只有一個 prettier 擴展程序。擁有多個 prettier 擴展程序會造成問題和混亂。您應該擁有的擴展程序 ID 應為: esbenp.prettier-vscode
“
main.js
文件寫一些javascript,然后按F1打開快捷輸入,輸入“格式化文檔”,直到看到"Format Document"
選項,點擊即可。 然后從菜單中選擇更漂亮。 如果你有錯誤的代碼,Prettier 不會格式化,它需要沒有錯誤。 (如果你想修復錯誤,請使用像 ESLint 這樣的 linter)。你可以添加一堆空行,或者把大括號放在錯誤的行上,省去分號,prettier 應該格式化所有這些錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.