Resharper

Nowe nauczone

Posted on Updated on

Shape? shape = null;

var shapeAsByte = (byte?)shape;
var s = shapeAsByte.ToString(); // s = "";

var s1 = shape.ToString(); // s1 = "";

Wydawało mi się że ToString() na wartości null się wywalić NullReferenceException, ale jednak przypisało “”.

R#:
AlT+Enter na teście albo na klasie pokazuje menu z którego można wybierać Run/Debug Test. O ile w teście korzystam ze skrótów (np CTRL+T+D) to na całej klasie nie znałem tego.

Usuwanie plików z rozszerzeniem *vc.db

http://stackoverflow.com/questions/36407386/what-is-the-vc-db-file-in-visual-studio-projects

How can I recursively find all files in current and subfolders based on wildcard matching?


find . -name *.VC.db


find . -iname *.vc.db

Use better console.log overload

console.log(“node: “, node); // one liner is better

console.log(“node: “);
console.log(node); // two lines is not so good

Remove *.vspscc files (used by TFS, no longer needed for git)

https://social.msdn.microsoft.com/Forums/vstudio/en-US/9920911d-1a7e-4ada-90cd-b1b910586cf4/why-do-you-need-the-vspscc-and-vssscc-files?forum=tfsgeneral

Okazjonalne (regularne) czyszczenie kodu Resharperem

Posted on Updated on

Powiedzmy że mamy projekt w którym wcześniej nie znano Resharpera. Otwierając coś takiego “wszystko świeci” na różne kolory sugerując że mamy w kodzie wiele problemów. Całe moje doświadczenie programistyczne mówi mi, że warto wysprzątać tą oborę bo na wstępnie z automatu poprawi się wiele bugów i znacznie zwiększy czytelność.

I tutaj staje się przed problemem czy poprawiać wszystko? Czy tylko te ważne? Czy też przy okazji te automatyczne poprzez Alt+Enter?

Dziś przeleciałem solucję za pomocą opcji “Cleanup Code” (PPM na projekcie/solucji/katalogu). cleanup code in resharper

Żeby zacząć utworzyłem nowy profile i nazwałem go “just remove unused references”, i jak widać na obrazku robi on tylko to (też je sortuje). Jest to “bezpieczny” niewymagający naszej ingerencji refactoring. Dzięki niemu gdy będziemy już z głową refaktorować kod (usuwać duplikacje, zmieniać strukture itp,itd, nie będziemy się rozpraszać rzeczami które może poprawić za nas automat.

Warto też od czasu do czasu jeszcze raz przelecieć tym automatem po całym solution, ponieważ takie rzeczy jeśli inne osoby nie zbają są regularnie zaśmiecane.

Muszę kiedyś napisać o podejściu “Resharper green”, może to rzuci trochę więcej światła.

Extension z Visual Studio z których korzystam

Posted on Updated on

  1. Resharper
  2. VsVim
  3. RelativeLineNumbers

Właściwie to mało, ale to wszytko czego potrzubuję. Pewnie czasami jeszcze coś o czym aktualnie nie pamiętam (nie mam zainstalowane na maszynie z której piszę).
Chociaż R# is VsVim to takie kobyły, że już więcej nic nie trzeba 🙂

VsVim

Posted on

Tryb pracy jest inny. Może krótki filmik wystarczy.
Co zyskujesz: nie sięgasz po kursory (strzałki), po BACKSPACE, DELETE, HOME, END. Mniej używa się Ctrl
Czy ReSharper nie robi tego wszystkiego lepiej? – można zabrać co najlepsze z obydwu – potrafią współżyć.
Ja ukurat znam VIMa od 6 lat, nie korzystałem z niego przez większość czasu ale ostatnio wracam.

Co przyspiesza naukę:
klawisze mają bardzo często powiązanie z nazwą funkcji którą wykonują. d – delete, i – insert, w – word, p – paste, itp.

3 Tryby
insert
normal (command)
vizual
command-line

Insert – coś jak dotychczas, wpisujemy tekst, kasujemy go, chodzimy po nim kursorami i innymi skrótami z VS czy R#. W vim jest to jedyny tryb w którym klawisze które wstukujemy będą wstawiane do edytora.

Normal – wchodzimy do nie ESC, jakby domyślny. Służy do nawigacji po kodzie. Robi się to za pomocą klawiszy h,j,k,l,w,b,0,$ – wymieniając tylko kilka. W tym trybie wycinamy i wklejamy tekst, korzystając z rejestrów.

My ReSharper shortcuts.

Posted on Updated on

Ctrl+Alt+F7

Ctrl + w

Use Alt+Up Arrow and Alt+Down Arrow to quickly navigate between methods in the editor.

ear – create empty array.

ctrl + U – go to BaseSymbol

Initialize field from parameter

Inspect Hierarchy.

Cleanupcode

If you type some expression in your code and then realize that you want to put its value into a local variable, just press Ctrl+Alt+V (IntroduceVariable) to do that.

Use Ctrl+Shift+F7 (HighlightUsages), to easily see usages of a variable or another symbol.

Use Ctrl+Alt+Up and Ctrl+Alt+Down to navigate between highlighted occurrences.

Press Escape to remove the highlighting

To quickly return to the last point where you made any changes in the code, press Ctrl+Shift+Bkspce. If you press it twice, you’ll get to the previous editing point and so on.

Use F12/Shift+F12 to jump between highlighted syntax errors/warnings in the editor.

Use Alt+Ins (Generate) in the editor to easily generate a constructor, a property for any field of your class, implement interface members or generate other common code constructs.

You can easily switch between a few recently viewed files with the Ctrl+E shortcut.

To surround a block of code with an if-statement, a loop, try/catch or another construct, select it in the editor and press Ctrl+Alt+J (SurroundWith). Choose the desired construct and press the Enter key.

Find file

Now you need to open one of your NHibernate mappings, but
it’s not a code file.No problem. Just narrow down from all files. CTRL+SHIFT+N

Context-sensitive refactoring

You will typically know what you want to do, and Re#er will
be there waiting for you. Stick the cursor on a member name and choose from
the refactorings available there. One of my favorites is “Change
Signature”.
It makes it easy to add an extra parameter to a class
constructor, and Re#er will add it in all the places where that constructor was
used. CTRL+SHIFT+R

CTRL+J:
ear
itar
nguid
itdg
out
sfc
thr

CamelCase
http://stackoverflow.com/questions/314095/make-visual-studio-understand-camelcase-when-hitting-ctrl-and-cursor-keys

To invoke rearrange code
Press Ctrl+Shift+Alt. ReSharper displays a tooltip that shows what code elements in what ways can be moved. Press the appropriate arrow key.

To quickly return to the last point where you made any changes in the code, press Ctrl+Shift+Bkspce. If you press it twice, you’ll get to the previous editing point and so on.

Przeszukiwanie klas (czyli po Ctrl+N):
Coś*coś

Pomógł mi wykryć dlaczego coś nie działa gdy brakowało mi “out” w IPageViewModel: Covariant.

Visual Studio

Ctrl+Shift+Enter – insert new line after current line.

Resharper 8 find your view in MVC

Posted on Updated on

Resharper 8 has some new stuff:

  • You don’t have to enter Ctrl+Shift+N to get search for all files. Ctrl+N is enough. No distinction like in R#7
  • You don’t need to write camels: ArtP to search for ArticlePage, now you just write ‘anything’ like ‘arpa’ and it feets ArticlePage.
  • Finding your view is much easier. To find you Index.html for corresponding ArticlePage you can write ‘arpa.csh’.
  • anything you type looks as well for directories (path)
    resharper finds by directory tree

The drawback is that you have more things to deal in this small window. However it is not a big deal 🙂