typescript - Resharper ger felmeddelanden när man byter git-branscher


Jag märkte att när jag byter gren i Git, börjar Resharper kasta hundratals fel i TypeScript. Det enda sättet att lösa detta är att ta bort node_modules-mappen och köra npm install igen. Det är lite betungande att göra detta varje gång eftersom jag byter mellan grenar och skapar nya när det finns en uppgift att arbeta med.

Har någon haft ett liknande problem och hur löste ni det utan att installera om node-moduler? Jag använder ReSharper Ultimate 2016.3.2 (26 januari 2017 version).

UPPDATERING :

Låt mig uppdatera den här frågan lite. ReSharper kommer att markera felen där de inte existerar. Även i detta tillstånd kan TypeScript-koden kompileras utan några problem. Att trycka på CTRL+SHIFT+ALT+8 inaktiverar ReSharper-analys för den TypeScript-filen och vi är tillbaka till vanlig Visual Studio (som om ReSharper inte var installerat). Problemet ligger inte i NPM-moduler eller Git-inställningar. Problemet är någonstans i hur ReSharper försöker upptäcka grenbytning. Något förvirrar det.

Svar #1

Som @Aleksey L. nämner, måste du lägga till regeln ignore i din .gitignore för node_modules. Men för att detta ska fungera måste du ta bort modulerna från repositoryn genom att göra:

git rm --cached <file> för varje modul

du kan till och med prova git update-index --assume-unchanged <file> om du inte vill skapa en ignore-regel, som föreslagits i detta svar: Hur man slutar spåra och ignorerar ändringar i en fil i Git?

En annan möjlig lösning kan vara att pilla lite med Reshapers inställningar:

Gå till Alternativ > Kodinspektion > Inställningar > Element att hoppa över > Lägg till node_modules

Alternativ > Kodredigering > Tredjepartskod > Bibliotekskod > Lägg till node_modules

Som föreslaget i denna tråd: Visual Studio Resharper med TypeScript och node_modules

Efter uppdatering av fråga:

Det finns ett förslag i den sista kommentaren på den här artikeln: https://resharper-support.jetbrains.com/hc/en-us/community/posts/206014479-False-Positives-after-Git-Checkout-

Gå till Alternativ > Allmänt > Rensa cache och starta sedan om