Mon problème vient du moment où je codais l'éditeur de vscode auto replace de chemin relatif en chemin absolu de tous les fichiers de mon projet.
Par exemple: Lorsque j'importe comme ceci:
import { login } from '../logic.redux/action'
Cinq minutes plus tard (par exemple, enregistrer ou importer un autre fichier), il sera converti en:
import { login } from '@module/login/logic.redux/action'
Et sérieusement, il remplace tous les fichiers en fichiers absolus. Dis moi ce que je fais mal
Mon projet comprend: TypeScript + react-native (projet)
Voici mon tsconfig.json
{
"compilerOptions": {
"module": "es6",
"target": "es6",
"lib": ["es6", "dom"],
"sourceMap": true,
"allowJs": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "react-native",
"moduleResolution": "node",
"noEmit": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": false,
"baseUrl": "./src",
"paths": {
"@conf/*": ["./conf/*"],
"@i18n/*": ["./i18n/*"],
"@module/*": ["./module/*"],
"@router/*": ["./router/*"],
"@theme/*": ["./theme/*"],
"@tpl/*": ["./tpl/*"],
"@util/*": ["./util/*"]
}
},
"exclude": ["node_modules"]
}
Et voici mon tslint.json
{
"defaultSeverity": "error",
"extends": [
"tslint-config-airbnb"
],
"jsRules": {},
"rules": {
"indent": [
true,
"tabs", 4
],
"ter-indent": [
false
],
"semicolon": [
true,
"never"
],
"object-literal-sort-keys": false,
"quotemark": [
true,
"single",
"jsx-double"
],
"ordered-imports": true,
"interface-name": [
false
],
"max-line-length": [
true,
140
],
"no-console": [
false
],
"no-empty-interface": false,
"no-var-requires": false,
"import-name": false,
"no-consecutive-blank-lines": [
true,
0
],
"no-increment-decrement": false,
"variable-name": [
true,
"ban-keywords",
"check-format",
"allow-Pascal-case"
],
"no-unused-variable": false
},
"rulesDirectory": []
}
Et réglage de l'utilisateur dans vscode
{
"workbench.colorTheme": "Bimbo Theme",
"sublimeTextKeymap.promptV3Features": true,
"editor.renderWhitespace": "boundary",
"editor.rulers": [100],
"editor.cursorBlinking": "solid",
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"window.zoomLevel": 0,
"todohighlight.isEnable": true,
"javascript.implicitProjectConfig.experimentalDecorators": true,
"gitlens.advanced.messages": {
"suppressShowKeyBindingsNotice": true
},
"files.autoSave": "off",
"eslint.autoFixOnSave":true,
"tslint.autoFixOnSave": true,
"tslint.configFile": "./tslint.ide.json",
"TypeScript.updateImportsOnFileMove.enabled": "always",
"javascript.implicitProjectConfig.experimentalDecorators": true,
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"editor.tabSize": 4,
}
Et voici l'extension de la liste de
PeterJausovec.vscode-docker
abotteram.TypeScript-react-snippets
ajhyndman.jslint
anseki.vscode-color
azemoh.one-monokai
bierner.markdown-preview-github-styles
chenxsan.vscode-standardjs
chong.vscode-TypeScript-react-redux-snippets
christian-kohler.path-intellisense
cmstead.jsrefactor
Compulim.compulim-vscode-closetag
cssho.vscode-svgviewer
Dart-Code.Dart-code
dbaeumer.vscode-eslint
DotJoshJohnson.xml
dracula-theme.theme-dracula
dsznajder.es7-react-js-snippets
eamodio.gitlens
EditorConfig.EditorConfig
eg2.tslint
emmanuelbeziat.vscode-great-icons
esbenp.prettier-vscode
formulahendry.auto-close-tag
formulahendry.auto-complete-tag
formulahendry.auto-rename-tag
HookyQR.beautify
infeng.vscode-react-TypeScript
jundat95.react-native-snippet
karyfoundation.comment
kevinkyang.auto-comment-blocks
mgmcdermott.vscode-language-babel
miclo.sort-TypeScript-imports
mohsen1.prettify-json
monokai.theme-monokai-pro-vscode
ms-python.python
ms-vscode.node-debug2
ms-vscode.sublime-keybindings
naumovs.color-highlight
patrys.vscode-code-outline
pawelgrzybek.bimbo-theme
pmneo.tsimporter
pnp.polacode
richie5um2.vscode-sort-json
santosh.react-native-snippet
shd101wyy.markdown-preview-enhanced
stevencl.addDocComments
teabyii.ayu
vsmobile.vscode-react-native
waderyan.gitblame
wayou.vscode-todo-highlight
wix.vscode-import-cost
xabikos.JavaScriptSnippets
yzhang.markdown-all-in-one
zengxingxin.sort-js-object-keys
Ouvrez les paramètres utilisateur vscode: File -> Preferences -> Settings
set "javascript.updateImportsOnFileMove.enabled": "Prompt",
Prompt
sur chaque changement de nomalways
mettre à jour les chemins automatiquementnever
renommer les chemins et ne pas me demander
les vôtres sont probablement sur always
Essayez de réinstaller vscode. Et sélectionnez le bouton 'no and never' lorsque vous modifiez le nom du fichier. La fenêtre contextuelle ainsi créée apparaîtra ainsi: "Mettre à jour automatiquement les importations pour le fichier déplacé"