#visual-studio-code #import #auto
#visual-studio-code #импорт #авто
Вопрос:
Например, я создаю новое create-react-app и удаляю импорт приложения из index.js . ESLint показывает проблему, и я могу ее исправить, нажав на приложение и нажав «Ctrl Пробел» или «Ctrl .» и импортировать приложение одним щелчком мыши, но я хочу, чтобы файлы импортировались при сохранении.
Исходное действие> Добавить весь отсутствующий импорт не работает, но интересно организовать импорт работает.
Я не знаю, в чем может быть проблема. Я хочу использовать организовать импорт и добавить отсутствующий импорт при сохранении вместе.
Мои настройки.json
Одна вещь, которую я понял, что vs code вообще не может определить, какие файлы отсутствуют, потому что, когда я удалил расширение автоматического импорта, перестали работать как ctrl пробел, так и ctrl .
{
"workbench.iconTheme": "vscode-icons",
"liveServer.settings.donotShowInfoMsg": true,
"window.zoomLevel": 1,
"git.enableSmartCommit": true,
"eslint.format.enable": true,
"editor.formatOnSave": true,
"javascript.updateImportsOnFileMove.enabled": "always",
// "files.autoSave": "afterDelay",
"diffEditor.renderSideBySide": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"explorer.confirmDragAndDrop": false,
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
},
"emmet.syntaxProfiles": {
"javascript": "jsx"
},
"prettier.arrowParens": "always",
"editor.fontLigatures": true,
"workbench.activityBar.visible": true,
"workbench.preferredDarkColorTheme": "One Dark Pro",
"oneDarkPro.bold": true,
"oneDarkPro.editorTheme": "Onedark Pro",
"oneDarkPro.vivid": true,
"workbench.preferredHighContrastColorTheme": "One Dark Pro",
"workbench.preferredLightColorTheme": "One Dark Pro",
"workbench.colorTheme": "One Dark Pro",
"editor.fontFamily": "Fira Code, Fira Code iScript, Consolas, 'Courier New', monospace",
"gitlens.advanced.messages": {
"suppressCommitHasNoPreviousCommitWarning": true
},
"eslint.workingDirectories": [{ "mode": "auto" }],
"prettier.trailingComma": "es5",
"autoimport.filesToScan": "**/*.{jsx,js,ts,tsx}",
"autoimport.doubleQuotes": true,
"autoimport.showNotifications": true,
"explorer.compactFolders": false,
"eslint.codeAction.showDocumentation": {
"enable": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"typescript.tsdk": "",
"path-intellisense.mappings": {},
"relativePath.excludedExtensions": [".js"],
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.preferences.includePackageJsonAutoImports": "on",
"prettier.useTabs": true,
"editor.codeActionsOnSave": {
"source.addMissingImports": true
// "source.fixAll.eslint": true
// "source.organizeImports": true
},
"editor.snippetSuggestions": "top"
}
Комментарии:
1. Я взял ваш settings.json и подключил его к своей рабочей области, и, похоже, он добавляет отсутствующий импорт при сохранении. Кажется, вы используете правильный формат . Я использую версию VS Code 1.48.0.
2. Я использую 1.48.2. Я попытался использовать формат, который вы связали, но снова безуспешно.
3. Я понял, что vs code вообще не может определить, какие файлы отсутствуют, потому что, когда я удалил расширение автоматического импорта, оба ctrl пробел и ctrl . перестали работать.
Ответ №1:
Пожалуйста, создайте новый файл jsconfig.json в корневом каталоге вашего приложения с:
{
"compilerOptions": {
"baseUrl": "./src",
"checkJs": true,
"jsx": "react"
}
}
а затем попробуйте это с:
import React from 'react'
const Component = () => {
const [test] = useState(0)
return <div>{test}</div>
}
export default Component
Комментарии:
1. у меня это не работает
2. работает, спасибо! , Интересно, есть ли способ не добавлять эти строки в каждый новый проект. но попробуйте сделать это один раз для всех новых проектов