Skróty klawiaturowe oraz ciekawe funkcje z Waszego IDE

2

Od lat używam narzędzi JetBrains, ale zdałem sobie sprawę że nie wykorzystuje pewnie 1% jego możliwości. Jakich skrótów oraz funkcji które przyspieszają pracę Wy używacie? Może zacznę od siebie:

  • oczywiście debugger, ale to chyba standard
  • komentowanie linii kodu (ja zdefiniowałem sobie skrót Ctrl+Shift+C aby jedną ręką można było komentować)
  • Ctrl+K jako commit oraz Ctrl+Shift+K jako push
  • Ctrl+Shift+F do szukania w plikach
  • podwójne Shift do szybkiego odnajdywania plików/klas/funkcji
  • Refactoring (obsługa myszą): zmiana nazw metod klas oraz wraz ze wszystkimi wystąpieniami w kodzie

jak coś się przypomni to napisze. Jak widzicie, niewiele tego wiec może nauczyłbym się czegoś co ułatwi pracę :)

4

W Visual Studio używam:

ctrl + alt + q - otwiera mi okienko ze wszystkimi właściwościami zaznaczonego elementu, w którym mogę sobie wszystko podpatrzeć - mega użyteczne jak coś debugguje, a np. obiekt ma sporo właściwości, wtedy łatwo można ogarnąć

alt + strzałka góra/dół - przenosi mi linijkę, na której mam kursor (lub zaznaczony fragment) w górę/w dół

ctrl + g - przechodzi do podanego numeru linijki w pliku

alt + shift + strzałka góra/dół - mnoży mi kursor o każdą kolejną linijkę, tzn. mogę pisać to samo w x linijkach naraz (działa też m.in. w SQL Studio Management, Notepad++)

ctrl + k i potem:
ctrl + c - komentuje linijkę (lub fragment)
ctrl + u - jw. tylko odkomentowuje

ctrl + , - wyszukiwanie klas, metod po nazwach itd

ctrl + . - podpowiada jak mogę rozwiązać problem - np. kiedy podkreśla mi element klasy, której nie załączyłem w usingu

f12 - przejście do deklaracji funkcji itd.

ctrl + f12 - przejście do definicji funkcji itd

alt + shift + f9 - kasuje wszystkie breakpointy w solucji

Przy debuggowaniu to wiadomo:
f10 - przejście linijkę dalej
f11 - wejście w głąb wykonywanego elementu

W Visual studio też baaardzo często korzystam z zakładki Immediate Window, gdzie przy debuggowaniu mogę ręcznie sprawdzać zawartość obiektów/wynik jakiejś metody

No i nie wiem czy zaliczyć takie skróty jak wpisanie słowa, a następnie tab aby utworzyć właściwość/pętlę etc:
for i tab - tworzy pętlę for for (int i = 0; i < length; i++) { }
foreach i tab - tworzy pętlę foreach foreach (var item in collection) { }
try i tab - tworzy blok try catch
prop i tab - tworzy właściwość public int MyProperty { get; set; }

tego akurat nie używam dużo, ale jest przydatne, tu jest link do listy może się przyda: https://www.c-sharpcorner.com/article/tricks-and-shortcuts-to-use-visual-studio-like-a-pro-double-your-code-speed/
A tu link do listy skrótów klawiszowych: https://www.dofactory.com/visual-studio-shortcuts

2

Mnóstwa różnych skrótów używam, na symbole i obce literki. Parę wybranych:

Obowiązkowo polskie znaki z lewym altem.

Auto HotKey

Alt + , = [
Alt + . = ]
Alt + ; = |
Alt + 9 = {
Alt + 0 = }


CTR + n = F2; zmień nazwę
Ctr + j = zapisz jako

Próbowałam przemapować sobie klawisze strzałek na
Ctr + jkli
ale wchodziły mi w konflikt z innymi używanymi skrótami.

IDE - zasadniczo to nie używam IDE, jako profesjonalna amatorka używam

Notepad++

$ - oznacza położenie kursora

Ctr + / = // --- $ ---
Ctr + 8 = /* --- $ --- */
Ctr + , = <!-- $ -->

Ctr + Spacja = &nbsp;
Ctr + Enter = <br>

Ctr + 7 = &amp;
Ctr + Shift + , = &lt;
Ctr + Shift + . = &gt;

Ctrl + B
  zaznaczony obszar => <b>zaznaczony obszar</b>
  
Ctrl + Shift + L
  zaznaczony obszar => <a href="http://zaznaczony obszar">zaznaczony obszar</a>

Zen Coding - Wtyczka do Notepad++

Raczej rzadko urzywam, ale pod
Ctr + '
mogę odpalić parser zamieniający np:

tr>td*2

na:

<tr>
	<td></td>
	<td></td>
</tr>

QuickText - Wtyczka do Notepad++

Abrewiacje rozwijane za pomocą
Ctr + ;

$ - oznacza położenie kursora


! === HTML=======================
! --- tagi ---
<h4=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">\n<title></title>\n\n<style>\n</style>\n</head>\n<body>\n$\n<script>\n</script>\n</body>\n</html>
<h=<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">\n<title></title>\n\n<style>\n</style>\n</head>\n<body>\n$\n<script>\n</script>\n</body>\n</html>
<css=<style>\n$\n</style>
<cssl=<link rel="stylesheet" type="text/css" href="$">
<js=<script>\n$\n</script>
<jsl=<script type="text/javascript" src="$"></script>
<a=<a href="$"></a>
<i=<img src="$" alt="">
<f=<form name="$" action="">\n\n</form>
<d=<div>$</div>
<t=<table>\n<tbody>\n<tr>\n<td>$</td>\n</tr>\n</tbody>\n</table>
! --- /tagi ---



! --- atrybuty ---
A=alt="$"
C=class="$"
Da=disabled
Dl=download="$"
H=href="$"
I=id="$"
N=name="$"
S=style="$"
Sr=src="$"
T=title="$"

Oc=onclick="$"
Och=onchange="$"
Omo=onmouseover="$"
Oc=click="$"
Omd=mousedown="$"
Omu=mouseup="$"
Of=focus="$"
Omo=mouseover="$"
Och=change="$"
Oi=input="$"
Okd=keydown="$"
Oku=keyup="$"
Okp=keypress="$"
! --- /atrybuty ---
! === /HTML=======================



! === PHP=======================
?fn=function $() {\n  \n}
?for=for (\$i = 0; \$i < $; $i++) {\n\n}

?sp=strpos(\$stóg$, \$igła);

?pm=preg_match("/wzór$/", \$ciąg, [\$wystąpienia]);
?pr=preg_replace("/$/", "", $ciąg);

?sr=str_replace("$", "", );
! === /PHP=======================



! === CSS=======================
! --- CSS pseudoklasy ---
>at=[attribute] {\n  $\n}
>atv=[attribute='$'] {\n  \n}

>a=:active {\n  $\n}
>c=:checked {\n  $\n}
>d=:default {\n  $\n}
>da=:disabled {\n  $\n}
>e=:empty {\n  $\n}
>ea=:enabled {\n  $\n}
>fc=:first-child
>ft=:first-of-type {\n  $\n}
>f=:focus {\n  $\n}
>h=:hover {\n  $\n}
>ir=:in-range {\n  $\n}
>id=:indeterminate {\n  $\n}
>iv=:invalid {\n  $\n}
>l=:lang($) {\n  \n}
>lc=:last-child
>lt=:last-of-type
>l=:link {\n  $\n}
>n=:not(P$) {\n  \n}
>nc=:nth-child(n)
>nlc=:nth-last-child($)
>nlt=:nth-last-of-type(n) {\n  $\n}
>nt=:nth-of-type(n) {\n  $\n}
>ot=:only-of-type {\n  $\n}
>oc=:only-child
>o=:optional {\n  $\n}
>or=:out-of-range {\n  $\n}
>ro=:read-only {\n  $\n}
>rw=:read-write {\n  $\n}
>r=:required {\n  $\n}
>r=:root {\n  $\n}
>t=:target {\n  $\n}
>v=:valid {\n  $\n}
>vi=:visited {\n  $\n}
! ---
nc=nth-child($)
fc=first-child
lc=last-child
! --- /CSS pseudoklasy ---


! --- CSS pseudoelementy ---
>af=::after {\n  position:absolute;\n  z-index:-1;\n  content:"";\n  top:0px;\n  left:0px;\n  height:100%;\n  width:100%;\n  background-size:cover;\n}
>bf=::before {\n  position:absolute;\n  z-index:-1;\n  content:"";\n  top:0px;\n  left:0px;\n  height:100%;\n  width:100%;\n  background-size:cover;\n}
>fl=::first-letter {\n  \n}
>fl=::first-line {\n  \n}
>ph=::placeholder {\n  \n}
>s=::selection {\n  \n}
! --- /CSS pseudoelementy ---


! --- CSS reguły ---
@m=@media only screen and (max-width:$px) {\n  x {}\n}
@f=@font-face {\n  font-family:'xfontx';\n  font-style:normal; /* normal/italic */\n  font-weight:normal; /* normal = 400 / bold = 700 */\n  src: url('/fonty/montserrat-regular.eot'); /* ie */\n  src: local('xfontx'), local('xfontx'),\n    url('fonty/xfontx.woff2') format('woff2'),\n    url('fonty/xfontx.woff') format('woff'),\n    url('fonty/xfontx.ttf') format('ttf'),\n    url('fonty/xfontx.eot') format('eot');\n}
! --- /CSS reguły ---


! --- CSS właściwości ---
a=animation:$;
ac=align-content:$;
ad=animation-duration:$;
ade=animation-delay:$;
adi=animation-direction:$;
afm=animation-fill-mode:$;
ai=align-items:$;
aic=animation-iteration-count:$;
an=animation-name:$;
aps=animation-play-state:$;
as=align-self:$;
atf=animation-timing-function:$;
b=background:$;
ba=background-attachment:$;
bbi=page-break-inside:$;
bbm=background-blend-mode:$;
bc=background-color:$;
bcl=background-clip:$;
bi=background-image:url("$");
bo=border:1px solid $;
bob=border-bottom:1px solid $;
bobc=border-bottom-color:$;
boblra=border-bottom-left-radius:$;
bobrra=border-bottom-right-radius:$;
bobst=border-bottom-style:$;
bobw=border-bottom-width:$;
boc=border-color:$;
boco=border-collapse:$;
boi=border-image:$;
boio=border-image-outset:$;
boir=border-image-repeat:$;
bois=border-image-slice:$;
boiso=border-image-source:$;
boiw=border-image-width:$;
bol=border-left:1px solid $;
bolc=border-left-color:$;
bolst=border-left-style:$;
bolw=border-left-width:$;
bor=border-right:1px solid $;
bora=border-radius:$;
borc=border-right-color:$;
borg=background-origin:$;
borst=border-right-style:$;
borw=border-right-width:$;
bosp=border-spacing:$;
bost=border-style:$;
bot=border-top:1px solid $;
botc=border-top-color:$;
botlra=border-top-left-radius:$;
botrra=border-top-right-radius:$;
botst=border-top-style:$;
botw=border-top-width:$;
bow=border-width:$;
bp=background-position:$;
br=background-repeat:$;
bs=background-size:$;
bv=backface-visibility:$;
bxdb=box-decoration-break:$;
bxs=box-sizing:$;
bxsh=box-shadow:$;
c=color:$;
cc=caret-color:$;
cl=clear:$;
clip=clip:$;
clipp=clip-path:$;
cni=counter-increment:$;
cnr=counter-reset:$;
co=columns:$;
coc=column-count:$;
cof=column-fill:$;
cog=column-gap:$;
cor=column-rule:$;
corc=column-rule-color:$;
corst=column-rule-style:$;
corw=column-rule-width:$;
cos=column-span:$;
cow=column-width:$;
cs=caption-side:$;
con=content:$;
cu=cursor:$;
d=display:$;
di=direction:$;
ec=empty-cells:$;
f=font:$;
ff=font-family:$;
fi=filter:$;
fk=font-kerning:$;
fl=float:$;
fs=font-size:$;
fsa=font-size-adjust:$;
fst=font-style:$;
fstr=font-stretch:$;
fv=font-variant:$;
fw=font-weight:$;
fx=flex:$;
fxb=flex-basis:$;
fxd=flex-direction:$;
fxf=flex-flow:$;
fxg=flex-grow:$;
fxs=flex-shrink:$;
fxw=flex-wrap:$;
g=grid:$;
ga=grid-area:$;
gac=grid-auto-columns:$;
gaf=grid-auto-flow:$;
gar=grid-auto-rows:$;
gc=grid-column:$;
gce=grid-column-end:$;
gcg=grid-column-gap:$;
gcs=grid-column-start:$;
gg=grid-gap:$;
gr=grid-row:$;
gra=grid-template-areas:$;
grg=grid-row-gap:$;
grs=grid-row-start:$;
grw=grid-row-end:$;
gt=grid-template:$;
gtc=grid-template-columns:$;
gtr=grid-template-rows:$;
h=height:$;
hp=hanging-punctuation:$;
hy=hyphens:$;
i=isolation:$;
jcon=justify-content:$;
lh=line-height:$;
lsp=letter-spacing:$;
lst=list-style:$;
lsti=list-style-image:$;
lstp=list-style-position:$;
lstt=list-style-type:$;
m=margin:$;
mb=margin-bottom:$;
mbm=mix-blend-mode:$;
mah=max-height:$;
mih=min-height:$;
miw=min-width:$;
ml=margin-left:$;
mr=margin-right:$;
mt=margin-top:$;
maw=max-width:$;
o=opacity:$;
of=object-fit:$;
op=object-position:$;
or=order:$;
ou=outline:1px solid $;
ouc=outline-color:$;
ouo=outline-offset:$;
oust=outline-style:$;
ouw=outline-width:$;
ov=overflow:$;
ovx=overflow-x:$;
ovy=overflow-y:$;
p=padding:$;
pb=padding-bottom:$;
pba=page-break-after:$;
pbb=page-break-before:$;
pe=perspective:$;
peorg=perspective-origin:$;
pev=pointer-events:$;
pl=padding-left:$;
po=position:$;
pr=padding-right:$;
pt=padding-top:$;
r=resize:$;
sb=scroll-behavior:$;
ta=text-align:$;
tal=text-align-last:$;
td=text-decoration:$;
tdc=text-decoration-color:$;
tdl=text-decoration-line:$;
tdst=text-decoration-style:$;
tf=transform:$;
tforg=transform-origin:$;
tfst=transform-style:$;
ti=text-indent:$;
tj=text-justify:$;
tl=table-layout:$;
to=text-overflow:$;
tr=transition:$;
trd=transition-duration:$;
trde=transition-delay:$;
trp=transition-property:$;
trtf=transition-timing-function:$;
ts=tab-size:$;
tsh=text-shadow:$;
tt=text-transform:$;
ub=unicode-bidi:$;
us=user-select:$;
v=visibility:$;
va=vertical-align:$;
w=width:$;
wb=word-break:$;
wm=writing-mode:$;
ws=white-space:$;
wsp=word-spacing:$;
ww=word-wrap:$;
xb=bottom:$;
xl=left:$;
xr=right:$;
xt=top:$;
z=z-index:$;
! --- /CSS właściwości ---


! --- wartości ----
!=!important;
/b=block
/ib=inline-block
/f=flex
/if=inline-flex
/it=inline-table
/t=table
/tc=table-cell
/tr=table-row
/n=none

/v=visible
/h=hidden

/xl=left
/xr=rigth
/xt=top
/xb=bottom

/r=repeat
/nr=no-repeat

/c=calc($)
! --- wartości ----
! === /CSS=======================


! === CSS, JS =======================
! --- właściwości css ---
s=style.

sa=animation = "$";
sac=alignContent = "$";
sad=animationDuration = "$";
sade=animationDelay = "$";
sadi=animationDirection = "$";
safm=animationFillMode = "$";
sai=alignItems = "$";
saic=animationIterationCount = "$";
san=animationName = "$";
saps=animationPlayState = "$";
sas=alignSelf = "$";
satf=animationTimingFunction = "$";
sb=background = "$";
sba=backgroundAttachment = "$";
sbbi=pageBreakInside = "$";
sbbm=backgroundBlendMode = "$";
sbc=backgroundColor = "$";
sbcl=backgroundClip = "$";
sbi=backgroundImage = "url('$')";
sbo=border = "1px solid $";
sbob=borderBottom = "1px solid $";
sbobc=borderBottomColor = "$";
sboblra=borderBottomLeftRadius = "$";
sbobrra=borderBottomRightRadius = "$";
sbobst=borderBottomStyle = "$";
sbobw=borderBottomWidth = "$";
sboc=borderColor = "$";
sboco=borderCollapse = "$";
sboi=borderImage = "$";
sboio=borderImageOutset = "$";
sboir=borderImageRepeat = "$";
sbois=borderImageSlice = "$";
sboiso=borderImageSource = "$";
sboiw=borderImageWidth = "$";
sbol=borderLeft = "1px solid $";
sbolc=borderLeftColor = "$";
sbolst=borderLeftStyle = "$";
sbolw=borderLeftWidth = "$";
sbor=borderRight = "1px solid $";
sbora=borderRadius = "$";
sborc=borderRightColor = "$";
sborg=backgroundOrigin = "$";
sborst=borderRightStyle = "$";
sborw=borderRightWidth = "$";
sbosp=borderSpacing = "$";
sbost=borderStyle = "$";
sbot=borderTop = "1px solid $";
sbotc=borderTopColor = "$";
sbotlra=borderTopLeftRadius = "$";
sbotrra=borderTopRightRadius = "$";
sbotst=borderTopStyle = "$";
sbotw=borderTopWidth = "$";
sbow=borderWidth = "$";
sbp=backgroundPosition = "$";
sbr=backgroundRepeat = "$";
sbs=backgroundSize = "$";
sbv=backfaceVisibility = "$";
sbxdb=boxDecorationBreak = "$";
sbxs=boxSizing = "$";
sbxsh=boxShadow = "$";
sc=color = "$";
scc=caretColor = "$";
scl=clear = "$";
sclip=clip = "$";
sclipp=clipPath = "$";
scni=counterIncrement = "$";
scnr=counterReset = "$";
sco=columns = "$";
scoc=columnCount = "$";
scof=columnFill = "$";
scog=columnGap = "$";
scor=columnRule = "$";
scorc=columnRuleColor = "$";
scorst=columnRuleStyle = "$";
scorw=columnRuleWidth = "$";
scos=columnSpan = "$";
scow=columnWidth = "$";
scs=captionSide = "$";
scon=content = "$";
scu=cursor = "$";
sd=display = "$";
sdi=direction = "$";
sec=emptyCells = "$";
sf=font = "$";
sff=fontFamily = "$";
sfi=filter = "$";
sfk=fontKerning = "$";
sfl=float = "$";
sfs=fontSize = "$";
sfsa=fontSizeAdjust = "$";
sfst=fontStyle = "$";
sfstr=fontStretch = "$";
sfv=fontVariant = "$";
sfw=fontWeight = "$";
sfx=flex = "$";
sfxb=flexBasis = "$";
sfxd=flexDirection = "$";
sfxf=flexFlow = "$";
sfxg=flexGrow = "$";
sfxs=flexShrink = "$";
sfxw=flexWrap = "$";
sg=grid = "$";
sga=gridArea = "$";
sgac=gridAutoColumns = "$";
sgaf=gridAutoFlow = "$";
sgar=gridAutoRows = "$";
sgc=gridColumn = "$";
sgce=gridColumnEnd = "$";
sgcg=gridColumnGap = "$";
sgcs=gridColumnStart = "$";
sgg=gridGap = "$";
sgr=gridRow = "$";
sgra=gridTemplateAreas = "$";
sgrg=gridRowGap = "$";
sgrs=gridRowStart = "$";
sgrw=gridRowEnd = "$";
sgt=gridTemplate = "$";
sgtc=gridTemplateColumns = "$";
sgtr=gridTemplateRows = "$";
sh=height = "$";
shp=hangingPunctuation = "$";
shy=hyphens = "$";
si=isolation = "$";
sjcon=justifyContent = "$";
slh=lineHeight = "$";
slsp=letterSpacing = "$";
slst=listStyle = "$";
slsti=listStyleImage = "$";
slstp=listStylePosition = "$";
slstt=listStyleType = "$";
sm=margin = "$";
smb=marginBottom = "$";
smbm=mixBlendMode = "$";
smah=maxHeight = "$";
smih=minHeight = "$";
smiw=minWidth = "$";
sml=marginLeft = "$";
smr=marginRight = "$";
smt=marginTop = "$";
smaw=maxWidth = "$";
so=opacity = "$";
sof=objectFit = "$";
sop=objectPosition = "$";
sor=order = "$";
sou=outline = "1px solid $";
souc=outlineColor = "$";
souo=outlineOffset = "$";
soust=outlineStyle = "$";
souw=outlineWidth = "$";
sov=overflow = "$";
sovx=overflowX = "$";
sovy=overflowY = "$";
sp=padding = "$";
spb=paddingBottom = "$";
spba=pageBreakAfter = "$";
spbb=pageBreakBefore = "$";
spe=perspective = "$";
speorg=perspectiveOrigin = "$";
spev=pointerEvents = "$";
spl=paddingLeft = "$";
spo=position = "$";
spr=paddingRight = "$";
spt=paddingTop = "$";
sr=resize = "$";
ssb=scrollBehavior = "$";
sta=textAlign = "$";
stal=textAlignLast = "$";
std=textDecoration = "$";
stdc=textDecorationColor = "$";
stdl=textDecorationLine = "$";
stdst=textDecorationStyle = "$";
stf=transform = "$";
stforg=transformOrigin = "$";
stfst=transformStyle = "$";
sti=textIndent = "$";
stj=textJustify = "$";
stl=tableLayout = "$";
sto=textOverflow = "$";
str=transition = "$";
strd=transitionDuration = "$";
strde=transitionDelay = "$";
strp=transitionProperty = "$";
strtf=transitionTimingFunction = "$";
sts=tabSize = "$";
stsh=textShadow = "$";
stt=textTransform = "$";
sub=unicodeBidi = "$";
sus=userSelect = "$";
sv=visibility = "$";
sva=verticalAlign = "$";
sw=width = "$";
swb=wordBreak = "$";
swm=writingMode = "$";
sws=whiteSpace = "$";
swsp=wordSpacing = "$";
sww=wordWrap = "$";
sxb=bottom = "$";
sxl=left = "$";
sxr=right = "$";
sxt=top = "$";
sz=zIndex = "$";
! --- /właściwości css ---


! --- właściwości ---
eih=innerHTML = "";
ev=value = "";
el=length$;
! ---
l=length$;
! --- /właściwości ---
! === /CSS, JS =======================



! === JS=======================
! --- polecenia ---
fn=function $() {\n  \n}
for=for (i = 0; i < $; i++) {\n\n}
wh=while ($) {\n\n}
if=if ($) {\n\n}
ife=if ($) {\n\n} else {\n\n}
! --- /polecenia ---


! --- metody window ---
wsi=setInterval(function(){alert(1);$}, 1000);
wst=setTimeout(function(){alert(1);$}, 1000);
wci=clearInterval($);
wct=clearTimeout($);
wcl=console.log($);
wa=alert($);
wp=prompt("Podaj $", "domyślna wartość");
wc=confirm("$");
! --- /metody window ---


! --- metody document ---
dg=document.getElementById("$")
dq=document.querySelector("$")
dqa=document.querySelectorAll("$")
! --- /metody document ---


! --- metody obiect ---
ea=addEventListener("click", function(){\n  alert(1);$\n});

eq=querySelector("$")
eqa=querySelectorAll("$")

eca=classList.add("$");
ecr=classList.remove("$");
ect=classList.toggle("$");

ec=click();
ef=focus();
eb=blur();
es=select();

eio=indexOf();
etuc=toUpperCase();
! --- /metody obiect ---
! === /JS=======================


! === podpowiedzi wartości =========
!CSS:
filter:blur(5px)=x
filter:brightness(200%)=x
filter:contrast(200%)=x
filter:drop-shadow(8px 8px 10px gray)=x
filter:grayscale(100%)=x
filter:hue-rotate(90deg)=x
filter:invert(100%)=x
filter:opacity(30%)=x
filter:saturate(8)=x
filter:sepia(100%)=x
! === /podpowiedzi wartości =========


To jest ciekawy bajer. Najeżdżam na słowo  `add`,
klikam Ctr + ; i zamienia mi się w `remove`,
i tak dalej w kołko.

! === Cykle =======================
%=px
px=vw
vw=vh
vh=%

add=remove
remove=toggle
toggle=add

cover=contain
contain=cover

width=height
height=width

left=right
right=center
center=justify
justify=left

margin-left=margin-right
margin-right=margin-top
margin-top=margin-bottom
margin-bottom=margin-left

padding-left=padding-right
padding-right=padding-top
padding-top=padding-bottom
padding-bottom=padding-left

red=green
green=blue
blue=red

top=middle
middle=baseline
baseline=bottom
bottom=top

visible=hidden
hidden=scroll
scroll=auto
auto=visible

normal=bold
bold=normal

margin=padding
padding=margin

block=inline
inline=inline-block
inline-block=flex
flex=table
table=table-cell
table-cell=block

even=odd
odd=even

max-width=min-width
min-width=max-height
max-height=min-height
min-height=max-width

static=relative
relative=absolute
absolute=fixed
fixed=sticky
sticky=static

first-child=last-child
ast-child=first-child

true=false
false=true

none=solid
solid=dotted
dotted=dashed
dashed=double
double=none

! - zdarzenia -
click=mousedown
mousedown=mouseup
mouseup=focus
focus=mouseover
mouseover=click

change=input
input=change

keydown=keyup
keyup=keypress
keypress=keydown
! - /zdarzenia -
! === /Cykle =======================
3

Mam zainstalowany KEY PROMOTER X, więc jak coś potrzebuję to od razu mam podpowiedź, jak to zrobić.

Natomiast sam z siebie dodałem sobie otwieranie konsoli mavenowej (bo często korzystam) oraz pokazywanie adnotacji z kontroli wersji (żebym wiedział, do kogo iść jak coś jest dziwnie napisane).

1

Kiedy potrzeba pokazać jak na prezentacjach, można użyć dla JetBrains
https://plugins.jetbrains.com/plugin/7345-presentation-assistant

Przy okazji mały tip:
View > Appearance > Enter Presentation Mode
https://www.jetbrains.com/help/idea/ide-viewing-modes.html#tips
In Presentation mode, IntelliJ IDEA expands the editor to occupy the entire screen and increases the font size to make it easier for your audience to see what you are doing.

0

Z tych niestandardowych w idea
Pierwsze co przemapowałem CapsLocka na ALT+SHIFT+CTRL+Quote
I mam ustawione:
CapsLock, O - otwarcie explorera na dany plik
CapsLock, K - rozwiazywanie konfliktów
CapsLock, C - Java Class
CapsLock, T - Typescript FIle
CapsLock, J - Javascript FIle

0

Używane na codzień:

VIM:

  • Ctrl + [ zamiast Escape. Ludzie sobie różnie przemapowują, ale Ctrl + [ ma tą zaletę że działa wszędzie.

SSH:

  • Enter ~ . żeby zakończyć wiszącą (czytaj nie reagującą na Ctrl+C i Ctrl+D) sesję SSH. Enter żeby zamknąć ostatnie polecenie. ~ otwiera SSH escape sequence. Tych kodów jest więcej, polecam google.

Bash:

  • Ctrl+D koniec wejścia
  • Ctrl+S, Ctrl+Q - stop + continue, przydaje się żeby zapausować wyjście programu w shellu

VSCode:

  • Ctrl+P >Change Language Mode />CLM JSON
  • Ctrl+P >Format Document/>FDocu
    (Za rzadko używam VSCode, w praktyce tylko do podglądu i formatowania JSON, więc nie mam ochoty uczyć się osobnych skrótów do tych funkcji. Uber skrót Ctrl+P spisuje się tutaj znakomicie).

IntelliJ:

@Freja Draco

IDE - zasadniczo to nie używam IDE

Jako człowiek konsoli (i użytkownik GDB), uważam to za masochizm. IDE naprawdę dużo daje, zwłaszcza jak się piszę w starym języku typu Java. Rozumiem w Pythonie nie ma tak dobrze, ale nadal VSCode+Python plugin lepszy niż nic...

0

Do Webstorma, więc i pewnie do reszty narzędzi JetBrains jest plugin Key Promoter X, który po wykonaniu każdej akcji myszką, która jest dostępna również pod skrótem klawiszowym, wyświetla kombinację do jej wykonania. Mnie sporo pomogło i już nie klikam wszystkiego.

EDIT: Teraz zobaczyłem, że @null null już o tym pisał, ale w takim razie podzielam jego zdanie.

2

Z intellij to wiem, że używam ctrl-alt-left cursor skok do poprzednio edytowanego miejsca.

Wiem, bo
za każdym razem jak siadam u kogoś z windowsem i pokazuje coś w kodzie to pierwsze naciśnięcie tego skrótu obraca ekran o 90 stopni :-) i jest zabawa.

1

Zanim przerzuciłem się na emacsa ( :-) ), pracując w IntelliJ stworzyłem sobie keymapę, gdzie wszystkie typowe akcje Gita miałem podpięte pod Alt+Z - np. Alt+Z Alt+C to był commit, Alt+Z Alt+Q otwierało blame itd.:

screenshot-20201222112808.png

Założenie było takie, że typowe akcje (commit, rebase, checkout itd.) powinienem być w stanie wykonać jedną ręką (bez akordów w stylu Ctrl+Alt+Spacja+P+{ bądź angażowania klawiszy po prawej stronie klawiatury), i sprawdziło się fenomenalnie: już taka drobnostka jak dedykowany, prosty szortkat do rebase'owania sprawiła, że nie miałem żadnych oporów przed sprzątaniem historii.

0

Przemapowujecie klawisze jednego IDE na układ drugiego, które używacie częściej / bardziej się zakorzeniło w palcach?
Chyba najbardziej męczy w debugerze step over / step into. Krokuje się szybko, bo podczas pisania i tak są chwilki zatrzymania

2
AnyKtokolwiek napisał(a):

Przemapowujecie klawisze jednego IDE na układ drugiego, które używacie częściej / bardziej się zakorzeniło w palcach?

Raczej nie, ale zamiast ctrl+c, ctrl+v, ctrl+x używam ctrl+ins, shift+ins, ctrl+del bo tak było w Turbo Pascalu.
Z tego też powodu klawiatura bez inserta jest nieużywalna.

0
AnyKtokolwiek napisał(a):

Przemapowujecie klawisze jednego IDE na układ drugiego, które używacie częściej / bardziej się zakorzeniło w palcach?
Chyba najbardziej męczy w debugerze step over / step into. Krokuje się szybko, bo podczas pisania i tak są chwilki zatrzymania

Tak.

Mam w miarę jednolite skróty wszędzie. Wymagało to sporej pracy na początku, ale już teraz się nie muszę męczyć :)

0
AnyKtokolwiek napisał(a):

Przemapowujecie klawisze jednego IDE na układ drugiego

Przy przejściu z rodziny Eclipse na rodzinę JetBrains nie zmieniałem. A same JetBrains są na tyle spójne, że nie ma potrzeby.

1

Z takich hardcore'owych,

Ctrl+W/Ctrl+Shift+W - Expand selection/cofnięcie expanda (na nowym keymapie to jest alt+arrowUp, co jest zwalone bo trzeba użyć dwóch rąk).

Ctrl+Alt+V - Extract variable
Ctrl+alt+m - Extract method
Ctrl+Alt+F - Extract field
Ctr+alt+c - Extract constant
Ctrl+alt+p - Extract parameter
Ctrl+alt+N - Inline variable/method/field/constant

Używam wszystkich notorycznie everyday, rządzą.

Ctrl+T - Stworzenie unita aktualnej klasy
Ctrl-Shift+T - Otwórz istniejący test, lub przejdź do klasy jeśli się jest w teście.

Ctrl+Shift+J - łączy wiele linii tekstu w jedną (usuwa nowe linie)

Ctrl+F5 - Edit signature

Poza skrótami często używam zaznaczenia prostokątnego (Shift+alt+insert), z czego można bardzo łatwo zrobić wiele kursorów, jeden per line, to jest super feature.

Shift +F6 - rename (wszystkiego) chyba wszyscy znają?

0
AnyKtokolwiek napisał(a):

Przemapowujecie klawisze jednego IDE na układ drugiego, które używacie częściej / bardziej się zakorzeniło w palcach?

Trochę tak, np. ujednolicam czasem skróty, aby VS Code miało nawigację tak jak VS, albo żeby w gołym VS ctrl + t działał jako go to everything, no bo tak jest w ReSharperze.
Ale jeśli jakiegoś IDE mam używać tylko przez chwilę, to nie chce mi się w takie coś bawić.

Z takich skrótów autorskich, to: alt + q, usuwa linię i nie kopiuje jej jak debil do schowka. (Domyślne ctrl + l w VS tak robi.) Skoro chcę coś usunąć, to po co mi w schowku?

No i mój ulubiony: alt + F4 - fajrant.

0

Ja sobie chwalę w Lazarusie Shift+Ctrl+Up/Down do przełączania się między deklaracjami a definicjami, a także Alt+Left/Right do śmigania po historii. Dzięki temu mogę szybko i wygodnie prześledzić wywołania w kodzie, bez uruchamiania debuggera. No i bookmarki — skróty od Shift+Ctrl+0 do Shift+Ctrl+9 do szybkiego stawiania zakładek oraz od Ctrl+0 do Ctrl+9 pozwalające skakać pomiędzy nimi.

Przydatne też są klawisze VK_BROWSER_FORWARD oraz VK_BROWSER_BACK, które pozwalają się przełączać pomiędzy zakładkami w edytorze kodu, a w połączeniu z klawiszem Ctrl, do przełączania się pomiędzy oknami edytorów. A że z reguły mam dwa okna edytorów kodu na dwóch ekranach i każdy po kilka(naście) zakładek, to dość mi to ułatwia robotę.

Ogólnie używam mnóstwa skrótów i rzadko kiedy dotykam myszy (chyba że coś dłubię w designerze, to myszą wygodniej).

0

Może nie skrót w IDE, ale w klawiaturze

Mam ustawiony klawisz, który normalnie jest w miejscu "Caps Lock" jako Ctrl/Esc. W sensie działa jako Esc jeśli jest naciśnięty sam, a jako Ctrl jeśli jest naciśnięty w połączeniu z innym klawiszem. Podobnie mam ze spacją, która w połączeniu z innym klawiszem działa jak AltGr.

W samym edytorze to nie wiem co wymienić. Używam Vima od całkiem dawna i można powiedzieć, że jestem całkiem sprawnym użytkownikiem. Więc większość ciężko jest mi opisać, bo dla mnie całkiem sporo z tego jest "naturalne".

EDIT ok jednak wypiszę:

  • [<space>/]<space> - dodanie nowej linii powyżej/poniżej danej linii (bez zmiany linii)
  • [e/]e - zamiana linii z linią powyżej/poniżej
  • UU - git pull
  • UB - git blame
  • <space><space> - fuzzy matching
  • s<object> - szybkie szukaj i zamień obiektu (następne powtórzenia "poprawia" się przy pomocy .)
  • gK - szukaj słowa pod kursorem w Dashu
  • gx - otwórz plik/link pod kursorem
  • ^x^l - uzupełnianie całych linii
1

I tak pewnie nikt już nie używa NetBeans oprócz mnie, ale tutaj kilka najczęściej używanych u mnie skrótów:

CTRL + SPACE: otwarcie uniwersalnej "inteligentnej" podpowiedzi - np. w przypadku PHP kiedy jesteśmy w kodzie klasy implementującej określony interfejs pokazuje brakujące metody interfejsu i proponuje ich automatyczne wygenerowanie
CTRL + SHIFT + ALT + strzałka w lewo lub prawo: przesuwanie na górnej belce zakładek plików
SHIFT+F3: szukaj
CTRL+H: szukaj i zamień
CTRL+U a potem U: zaznaczoną sekcję konwertuje do dużych liter (uppercase)
CTRL+U a potem L: zaznaczoną sekcję konwertuje do małych liter (lowercase)

2

Z takich co nikt nie wymienił jeszcze:

PyCharm (JetBrains)
ctrl + shift + n (wyszukanie plików po nazwie)
ctrl + p (pokazanie jakie argumenty przyjmuje funkcja)
kliknięcie scrolla (przejście do funkcji/klasy itd.)

shift + alt + strzałka góra lub dół (chociaż domyślnie jest chyba inaczej) - przeniesienie obecnej/zaznaczonych linii do wyżej/niżej (bardzo przydatne)
alt + strzałki góra/dól - przeskok do następnej funkcji wyżej/niżej
ctrl + alt + shift + strzałki góra/dól - przeskok do miejsca w pliku, w którym są nasze obecne zmiany (to co jeszcze nie ma commita).
Bardzo przydatne, otwieramy plik i sobie skaczemy po liniach, które zmienialiśmy

ctrl + d (duplicate, duplikuję aktualną linię, też bardzo przydatne)
ctrl + shift + a (otwiera Actions, czyli taką wyszukiwarkę funkcji IDE, możemy np. wpisać SSH i połączyć się z jakimś ssh, albo project interpreter i sobie przejść do tego zamiast szukać to w ustawieniach)

Własne skróty klawiszowe na:
Odpalenie black8, flake (ctrl + num_8)
Otwarcie okna z ostatnimi projektami (mam sporo projektów i często pracuję w różnych) (ctrl + shift + num_5)

0

Fajnie jakby podzielić temat na środowiska. Co kogo intere cos innego jak używa tylko X.

Intelij : ctrl i strzalka, lewa albo prawa. Do zmiany karty.

0 użytkowników online, w tym zalogowanych: 0, gości: 0