idea-live-templates My IntelliJ Live Templates

我要开发同款
匿名用户2021年12月09日
118阅读

技术信息

授权协议
Apache-2.0 License

作品详情

MattRaible’sItelliJIDEALiveTemplates

ThesearetheItelliJIDEALiveTemplatesthatI’veusedimaydemosadscreecastsovertheyears.

IusedItelliJ’sshariglivetemplatesfeature,tocreateidea-settigs.jar.Youshouldbeabletoimport"MattRaible’sShortcuts"usigthefollowigsteps:

OtheFilemeu,clickImportSettigs.

SpecifythepathtotheJARfilewiththeexportedlivetemplatecofiguratio.

ItheImportSettigsdialogbox,selecttheLivetemplatescheckboxadclickOK.

AfterrestartigItelliJIDEA,youwillseetheimportedlivetemplatesotheLiveTemplatespageoftheSettigs/PreferecesDialog.

DowloadItelliJIDEAtoday!It’saspectacularIDEAforJava,Kotli,TypeScript,JavaScript,S/CSS,adHTML.

Ifyou’dratherotimportallofmytemplates,youcacloethisprojectadopeitiItelliJ(withtheAsciidoctorplugiistalled).Youshouldbeabletoeditthisfileadaddtheshortcutsbelowaslivetemplates(Tools>SaveasLiveTemplate).Makesuretosetthefiletypetomatchthelaguage.

SprigBoot

boot-etity

@javax.persistece.Etityclass$etity${@javax.persistece.Id@javax.persistece.GeeratedValueprivatejava.lag.Logid;privatejava.lag.Strigame;public$etity$(){}public$etity$(Strigame){this.ame=ame;}publicjava.lag.LoggetId(){returid;}publicvoidsetId(java.lag.Logid){this.id=id;}publicjava.lag.StriggetName(){returame;}publicvoidsetName(java.lag.Strigame){this.ame=ame;}@java.lag.Overridepublicjava.lag.StrigtoStrig(){retur"$etity${"+"id="+id+",ame='"+ame+'\''+'}';}}

boot-etity-lombok

@lombok.Data@lombok.AllArgsCostructor@lombok.NoArgsCostructor@javax.persistece.Etityclass$ame${public$ame$(java.lag.Strigame){this.ame=ame;}@javax.persistece.Id@javax.persistece.GeeratedValueprivatejava.lag.Logid;privatejava.lag.Strigame;}

boot-h2

<depedecy><groupId>com.h2database</groupId><artifactId>h2</artifactId></depedecy>

boot-sql

isertito$etity$(ame)values('First');isertito$etity$(ame)values('Secod');

boot-repository

iterface$etity$RepositoryextedsJpaRepository<$etity$,java.lag.Log>{}

boot-commad

@org.sprigframework.stereotype.Compoetclass$etity$CommadLieRuerimplemetsorg.sprigframework.boot.CommadLieRuer{privatefial$etity$Repositoryrepository;public$etity$CommadLieRuer($etity$Repositoryrepository){this.repository=repository;}@java.lag.Overridepublicvoidru(java.lag.Strig...strigs)throwsjava.lag.Exceptio{repository.fidAll().forEach(System.out::pritl);}}

boot-add

//Topbeersfromhttps://www.beeradvocate.com/lists/top/Stream.of("KetuckyBruchBradStout","GoodMorig","VeryHazy","KigJulius","Budweiser","CoorsLight","PBR").forEach(ame->repository.save(ewBeer(ame)));

boot-cotroller

@org.sprigframework.web.bid.aotatio.RestCotrollerclass$etity$Cotroller{private$etity$Repositoryrepository;public$etity$Cotroller($etity$Repositoryrepository){this.repository=repository;}@org.sprigframework.web.bid.aotatio.GetMappig("/$uriMappig$")java.util.Collectio<$etity$>list(){returrepository.fidAll();}}

boot-good

@GetMappig("/good-beers")publicCollectio<Beer>goodBeers(){returrepository.fidAll().stream().filter(this::isGreat).collect(Collectors.toList());}privatebooleaisGreat(Beerbeer){retur!beer.getName().equals("Budweiser")&&!beer.getName().equals("CoorsLight")&&!beer.getName().equals("PBR");}

okta-mave-boot

<depedecy><groupId>com.okta.sprig</groupId><artifactId>okta-sprig-boot-starter</artifactId><versio>$versio$</versio></depedecy>

sprig-oauth2-yaml

sprig:security:oauth2:cliet:registratio:okta:cliet-id:$clietId$cliet-secret:$clietSecret$provider:okta:authorizatio-uri:https://$yourOktaDomai$/oauth2/v1/authorizetoke-uri:https://$yourOktaDomai$/oauth2/v1/tokeuser-ifo-uri:https://$yourOktaDomai$/oauth2/v1/userifojwk-set-uri:https://$yourOktaDomai$/oauth2/v1/keys

okta-oauth2

okta.oauth2.issuer=https://$youtOktaDomai$/oauth2/defaultokta.oauth2.clietId=$clietId$

cors-filter

@org.sprigframework.cotext.aotatio.Beapublicorg.sprigframework.boot.web.servlet.FilterRegistratioBeasimpleCorsFilter(){org.sprigframework.web.cors.UrlBasedCorsCofiguratioSourcesource=eworg.sprigframework.web.cors.UrlBasedCorsCofiguratioSource();org.sprigframework.web.cors.CorsCofiguratiocofig=eworg.sprigframework.web.cors.CorsCofiguratio();cofig.setAllowCredetials(true);cofig.setAllowedOrigis(java.util.Collectios.sigletoList("https://localhost:4200"));cofig.setAllowedMethods(java.util.Collectios.sigletoList("*"));cofig.setAllowedHeaders(java.util.Collectios.sigletoList("*"));source.registerCorsCofiguratio("/**",cofig);org.sprigframework.boot.web.servlet.FilterRegistratioBeabea=eworg.sprigframework.boot.web.servlet.FilterRegistratioBea(eworg.sprigframework.web.filter.CorsFilter(source));bea.setOrder(org.sprigframework.core.Ordered.HIGHEST_PRECEDENCE);returbea;}Agular

g-giphy-service

import{Ijectable}from'@agular/core';import{HttpCliet}from'@agular/commo/http';import'rxjs/add/operator/map';@Ijectable()//https://tutorials.pluralsight.com/frot-ed-javascript/gettig-started-with-agular-2-by-buildig-a-giphy-search-applicatioexportclassGiphyService{//Publicbetakey:https://github.com/Giphy/GiphyAPI#public-beta-keygiphyApi='//api.giphy.com/v1/gifs/search?api_key=dc6zaTOxFJmzC&limit=1&q=';costructor(publichttp:HttpCliet){}get(searchTerm){costapiLik=this.giphyApi+searchTerm;returthis.http.get(apiLik).map((respose:ay)=>{if(respose.data.legth>0){returrespose.data[0].images.origial.url;}else{retur'https://media.giphy.com/media/YaOxRsmrv9IeA/giphy.gif';//dacigcatfor404}});}}

g-giphy-foreach

for(cost$item$ofthis.$item$s){this.giphyService.get($item$.ame).subscribe(url=>$item$.giphyUrl=url);}

g-okta-service

import{Ijectable}from'@agular/core';import*asOktaSigIfrom'@okta/okta-sigi-widget/dist/js/okta-sig-i.mi.js'import{ReplaySubject}from'rxjs/ReplaySubject';import{Observable}from'rxjs/Observable';@Ijectable()exportclassOktaAuthService{sigI=ewOktaSigI({baseUrl:'https://$yourOktaDomai$',clietId:'$clietId$',authParams:{issuer:'https://$yourOktaDomai$',resposeType:['id_toke','toke'],scopes:['opeid','email','profile']}});publicuser$:Observable<ay>;publicuserSource:ReplaySubject<ay>;costructor(){this.userSource=ewReplaySubject<ay>(1);this.user$=this.userSource.asObservable();}isAutheticated(){//ChecksifthereisacurretaccessTokeitheTokeMager.retur!!this.sigI.tokeMaager.get('accessToke');}logi(){//Lauchesthewidgetadstoresthetokes.this.sigI.rederEl({el:'#okta-sigi-cotaier'},respose=>{if(respose.status==='SUCCESS'){respose.forEach(toke=>{if(toke.idToke){this.sigI.tokeMaager.add('idToke',toke);}if(toke.accessToke){this.sigI.tokeMaager.add('accessToke',toke);}this.userSource.ext(this.idTokeAsUser);this.sigI.hide();});}else{cosole.error(respose);}});}getidTokeAsUser(){costtoke=this.sigI.tokeMaager.get('idToke');retur{ame:toke.claims.ame,email:toke.claims.email,userame:toke.claims.preferred_userame}}asyclogout(){//TermiatesthesessiowithOktaadremovescurrettokes.this.sigI.tokeMaager.clear();awaitthis.sigI.sigOut();this.sigI.remove();this.userSource.ext(udefied);}}

g-okta-headers

costheaders:Headers=ewHeaders();if(this.oktaService.isAutheticated()){costaccessToke=this.oktaService.sigI.tokeMaager.get('accessToke');headers.apped('Authorizatio',accessToke.tokeType+''+accessToke.accessToke);}costoptios=ewRequestOptios({headers:headers});

g-okta-oiit

user;costructor(publicoktaService:OktaAuthService,privatechageDetectorRef:ChageDetectorRef){}gOIit(){//1.foriitialloadadbrowserrefreshif(this.oktaService.isAutheticated()){this.user=this.oktaService.idTokeAsUser;}else{this.oktaService.logi();}//2.registeralisteerforautheticatioadlogoutthis.oktaService.user$.subscribe(user=>{this.user=user;if(!user){this.oktaService.logi();}//LetAgularkowthatmodelchaged.//Seehttps://github.com/okta/okta-sigi-widget/issues/268formoreifo.this.chageDetectorRef.detectChages();});}

g-okta-logi

功能介绍

Matt Raible’s IntelliJ IDEA Live Templates These are the IntelliJ IDEA Live Templates that I’ve u...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论