Latest Event Updates

Jak sprawdzić jakie znaki końca linii (Line Endings) są w zdalnym repozytorium

Posted on

Ustawić globalnie aby autoCrlf było takie że nic nie zmienia znaków końca linii (“core.autocrlf” is set to “false”).
Wywalić plik .gitattributes z repozytorium.

Sprawdzić co dostaniemy po git clone.

Advertisements

Nazywanie nieużywanych parametrów _ a StyleCop

Posted on Updated on

Gdy użyjemy _ jako nazwy parametru w metodzie to dostaniemy warning SA1313 (The name of a parameter in C# does not begin with a lower-case letter.). Zdarza mi się taki kod gdy implementuje abstrakcyjną metodę która akurat w danej klasie nie używa jakiegoś parametru. I niestety StyleCop krzyczy.

Rozwiązałem to w ten sposób że ignoruję globalnie tą regułę. Jeśli gdzieś indziej w kodzie ktoś nazwie parametr _table_length to Resharper mi wyłapie ten błąd i zasugeruje poprawę.

[GIT] Szybkie przechodzenie między repozytoriami w konsoli

Posted on

Idziemy do katalogu z zainstalowanym GITem do folderu etc (C:\Program Files\Git\etc).

Jest tam plik bash.bashrc.

Plik edytujemy jako administrator i na końcu dodajemy aliasy:

To samo można uzyskać na wiele innych sposobów (ten akurat działa w mojej konfiguracji systemu). Ten tutaj sprawia, przy otwieraniu konsoli gitowej dodane zostaną do basha aliasy. Dzięki temu możemy wyjść poza to co można dodać w .gitconfig i możemy korzystać z łączenia z komendami konsolowymi takimi jak grep w przykładzie.

VsVim – małe info

Posted on Updated on

Gdy źle ustawiłem jak rozwiązać konfliktujące skróty klawiaturowe:

vsvim bindings conflicts

Btw VsVim działa z Visual Studio 2017. https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim

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

[StyleCop] Reguły które wyłączam

Posted on Updated on

… kiedyś opiszę te podstawowe …

A teraz te, z którymi na bieżąco trzeba sobie radzić.

* EF add-migration dodaje trailing whitespace (SA1028) w klasach z kodem migracji. – rozwiazanie niżej w treści posta (Exclude tylko dla danego namespace)

Można wyłączyć reguły per projekt (namespace, class, etc)

Gdy StyleCop zaoferuje nam fixa to możemy dać “Suppress in suppression file” i wtedy zostanie utworzone coś takiego:

// GlobalSuppressions.cs

// This file is used by Code Analysis to maintain SuppressMessage 
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given 
// a specific target and scoped to a namespace, type, member, etc.

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1618:Generic type parameters must be documented", Justification = "<Pending>", Scope = "member", Target = "~M:YourOrganization.Project.Class``2(AutoMapper.IMappingExpression{``0,``1},System.Linq.Expressions.Expression{System.Func{``1,System.Object}})~AutoMapper.IMappingExpression{``0,``1}")]

Dużo przewijania w prawo.

Exclude tylko dla danego namespace

GlobalSuppressions.cs można wrzucić dowolny katalog i wtedy będzie dotyczyło tylko tych z danego i poniżej. Zakładam że namespace’y odpowiadają katalogom.