Category: Java jsp spring
-
tab menu sample2
tabExam01<!DOCTYPE html><html lang=”ko-KR”><head><meta charset=”UTF-8″><title>Document</title><style type=”text/css”>body {font-family:”Malgun Gothic”;font-size: 0.8em;}/*TAB CSS*/ul.tabs {margin: 0;padding: 0;float: left;list-style: none;height: 32px; /*–Set height of tabs–*/border-bottom: 1px solid #999;border-left: 1px solid #999;width: 100%;}ul.tabs li {float: left;margin: 0;padding: 0;height: 31px; /*–Subtract 1px from the height of the unordered list–*/line-height: 31px; /*–Vertically aligns the text within the tab–*/border: 1px solid #999;border-left: none;margin-bottom: -1px; /*–Pull the list item down 1px–*/overflow:inherit;position: relative;background: #e0e0e0;}ul.tabs li a {text-decoration: none;color: #000;display: block;font-size: 1.2em;padding: 0 20px;/*–Gives the bevel look with a 1px white border inside the list item–*/border: 1px solid #fff;outline: none;}ul.tabs li a:hover {background: #ccc;}html ul.tabs li.active, html ul.tabs li.active a:hover {/*–Makes sure that the active tab does not listen to the hover properties–*/background: #fff;/*–Makes the active tab look like it’s connected with its content–*/border-bottom: 1px solid #fff;}/*Tab Conent CSS*/.tab_container {border: 1px solid #999;border-top: none;overflow: hidden;clear: both;float: left;width: 100%;background: #fff;}.tab_content {padding: 20px;font-size: 1.2em;}</style><script type=”text/javascript” src=”http://code.jquery.com/jquery-1.8.3.min.js”></script><script type=”text/javascript”>$(document).ready(function() {var tab = localStorage.getItem(‘tab’)if (tab){$(“ul.tabs”).empty();$(“ul.tabs”).append(tab);}//When page loads…$(“.tab_content”).hide(); //Hide all contentvar activeTab = $(this).find(“.active a”).attr(“href”);console.log(“aaa”, activeTab)if (typeof activeTab == “undefined”) {//if (activeTab === undefined) {$(“ul.tabs li:first”).addClass(“active”).show(); //Activate first tab$(“.tab_content”).show(); //Show first tab content$(“.tab_container #tab1”).load(“tab_content2.txt”, function (responseTxt, statusTxt, xhr) {if (statusTxt == “success”)console.log(“External content loaded successfully!”);if (statusTxt == “error”)console.log(“Error: ” + xhr.status + “: ” + xhr.statusText);});$(“.tab_container #tab2”).load(“tab_content.txt”, function (responseTxt, statusTxt, xhr) {if (statusTxt == “success”)console.log(“External content loaded successfully!”);if (statusTxt == “error”)console.log(“Error: ” + xhr.status + “: ” + xhr.statusText);});sTab = $(“ul.tabs”).html();localStorage.setItem(‘tab’, sTab)}else{console.log(“load activeTab data”, activeTab)$(“.tab_container”).load(“tab_content.txt”, function (responseTxt, statusTxt, xhr) {if (statusTxt == “success”)console.log(“External content loaded successfully!”);if (statusTxt == “error”)console.log(“Error: ” + xhr.status + “: ” + xhr.statusText);});sTab = $(“ul.tabs”).html();localStorage.setItem(‘tab’, sTab)}console.log(‘load activeTab’, activeTab)//$(activeTab).fadeIn();//On Click Event$(“ul.tabs”).on(‘click’, ‘li’, function(e) {console.log(‘e.target1’, e.target)e.stopImmediatePropagation()$(“ul.tabs li”).removeClass(“active”); //Remove any “active” class$(this).addClass(“active”); //Add “active” class to selected tab$(“.tab_content”).hide(); //Hide all tab contentvar activeTab = $(this).find(“a”).attr(“href”); //Find the href attribute value to identify the active tab + content$(“.tab_container”).load(“tab_content.txt”, function (responseTxt, statusTxt, xhr) {if (statusTxt == “success”)console.log(“External content loaded successfully!”);if (statusTxt == “error”)console.log(“Error: ” + xhr.status + “: ” + xhr.statusText);});console.log(‘activetab h’, activeTab);//localStorage.setItem(‘tab’,”);sTab = $(this).parent().html();localStorage.setItem(‘tab’,sTab )//localStorage.setItem(‘activeTab’, activeTab);$(activeTab).fadeIn(); //Fade in the active ID contentreturn false;});// delete tab$(“ul.tabs”).on(‘click’,’li input’, function(e){console.log(‘e.target’, e.target)e.stopImmediatePropagation()//var currentIdx = $(this).parent().index();//console.log(‘currentIdx’, currentIdx)//if (currentIdx == 0) return false;$(this).parent().remove();var currentTabs = $(“ul.tabs”).html();console.log(typeof currentTabs)//localStorage.setItem(‘tab’, ”)localStorage.setItem(‘tab’, currentTabs)$(“ul.tabs li:last-child”).trigger(‘click’);// console.log(‘aaativetab del’, activeTab);console.log($(this));})$(“#btnAdd”).on(‘click’, function(e){e.stopImmediatePropagation()var tabIdx = $(“ul.tabs li”).length+1;console.log(tabIdx)var tabTitle = “tab” + tabIdx;var dt = new Date()tabIdx = dt.getMilliseconds()addTab(tabIdx, tabTitle)})});function addTab(tabIdx, tabTitle){sTab = ‘<li><a href=”#tab’+ tabIdx +’”>’+ tabTitle +'</a><input type=”button” value=”x” class=”removeTab”/></li>’;$(‘.tabs’).append(sTab);sTab = $(‘.tabs’).html();//localStorage.setItem(‘tab’,”)localStorage.setItem(‘tab’, sTab)$(“ul.tabs li:last-child”).trigger(‘click’);}</script></head><body><div id=”wrapper”><input type=”button” id=”btnAdd”>tab add</div><!–탭 메뉴 영역 –><ul class=”tabs”><li><a href=”#tab1″>tab1</a></li></ul><!–탭 콘텐츠 영역 –><div class=”tab_container”><div id=”tab1″ class=”tab_content”><!–Content–><h1>tab1영역</h1>내용 내용 내용 내용 내용 내용 <br/>자바킹 블로그 :<a href=”http://javaking75.blog.me”>javaking75.blog.me</a></div><div id=”tab2″ class=”tab_content”>Content<h1>tab2영역</h1>내용 내용 내용 내용 내용 내용</div> –></div></div></body></html> -
tab menu sample
<!DOCTYPE html><html lang=”ko-KR”><head><meta charset=”UTF-8″><title>Document</title><style type=”text/css”>body {font-family:”Malgun Gothic”;font-size: 0.8em;}/*TAB CSS*/ul.tabs {margin: 0;padding: 0;float: left;list-style: none;height: 32px; /*–Set height of tabs–*/border-bottom: 1px solid #999;border-left: 1px solid #999;width: 100%;}ul.tabs li {float: left;margin: 0;padding: 0;height: 31px; /*–Subtract 1px from the height of the unordered list–*/line-height: 31px; /*–Vertically aligns the text within the tab–*/border: 1px solid #999;border-left: none;margin-bottom: -1px; /*–Pull the list item down 1px–*/overflow:inherit;position: relative;background: #e0e0e0;}ul.tabs li a {text-decoration: none;color: #000;display: block;font-size: 1.2em;padding: 0 20px;/*–Gives the bevel look with a 1px white border inside the list item–*/border: 1px solid #fff;outline: none;}ul.tabs li a:hover {background: #ccc;}html ul.tabs li.active, html ul.tabs li.active a:hover {/*–Makes sure that the active tab does not listen to the hover properties–*/background: #fff;/*–Makes the active tab look like it’s connected with its content–*/border-bottom: 1px solid #fff;}/*Tab Conent CSS*/.tab_container {border: 1px solid #999;border-top: none;overflow: hidden;clear: both;float: left;width: 100%;background: #fff;}.tab_content {padding: 20px;font-size: 1.2em;}</style><script type=”text/javascript” src=”http://code.jquery.com/jquery-1.8.3.min.js”></script><script type=”text/javascript”>$(document).ready(function() {//var tab = localStorage.setItem(‘tab’, ”)var tab = localStorage.getItem(‘tab’)if (tab){$(“ul.tabs”).append(tab.replace(/ /g, ”));}if (tab){$(“ul.tabs”).empty();$(“ul.tabs”).append(tab);}//When page loads…$(“.tadkb_content”).hide(); //Hide all content//$(“udkl.tabs li:first”).addClass(“active”).show(); //Activate first tab//$(“.dktab_content:first”).show(); //Show first tab contentvar activeTab = localStorage.getItem(‘activeTab’);// if (activeTab){// var num = activeTab.replace(/#tab/,”)-1;// }else{// num = 0;// }// console.log(‘num’,activeTab);$(“ul.tabs li a”).each(function () {var ehref = $(this).attr(“href”);console.log(ehref, ‘=’, activeTab)if (ehref == activeTab) {$(this).parent().addClass(“active”).show();}else{$(this).parent().not(‘li:first’).removeClass(“active”);}});//console.log(‘oblllllllllllllll’, $ob, ‘href:”‘+ activeTab +’”‘)//.parent().addClass(“active”).show();//$(activeTab).fadeIn(); //Fade in the active ID contentconsole.log(‘aaativetab load’, activeTab);//On Click Event$(“ul.tabs”).on(‘click’, ‘li’, function(e) {console.log(‘e.target1’, e.target)e.stopImmediatePropagation()$(“ul.tabs li”).removeClass(“active”); //Remove any “active” class$(this).addClass(“active”); //Add “active” class to selected tab$(“.tab_content”).hide(); //Hide all tab contentvar activeTab = $(this).find(“a”).attr(“href”); //Find the href attribute value to identify the active tab + content$(“.tab_container”).load(“tab_content.txt”, function (responseTxt, statusTxt, xhr) {if (statusTxt == “success”)console.log(“External content loaded successfully!”);if (statusTxt == “error”)console.log(“Error: ” + xhr.status + “: ” + xhr.statusText);});console.log(‘activetab h’, activeTab);localStorage.setItem(‘activeTab’, activeTab);$(activeTab).fadeIn(); //Fade in the active ID contentreturn false;});function addTab(tabIdx, tabTitle){sTab = ‘<li><a href=”#tab’+ tabIdx +’”>’+ tabTitle +'</a><input type=”button” value=”x” class=”removeTab”/></li>’;$(‘.tabs’).append(sTab);//load content// $(“.tab_container”).load(“tab_content.txt”, function(responseTxt, statusTxt, xhr){// if(statusTxt == “success”)// alert(“External content loaded successfully!”);// if(statusTxt == “error”)// alert(“Error: ” + xhr.status + “: ” + xhr.statusText);// });var pre_tab = localStorage.getItem(‘tab’)if(pre_tab){sTab = pre_tab +’ ’ + sTab ;sTab = sTab.replace(/ /, ”);}localStorage.setItem(‘tab’, sTab)$(“ul.tabs li:last-child”).trigger(‘click’);}$(“ul.tabs”).on(‘click’,’li input’, function(e){console.log(‘e.target’, e.target)e.stopImmediatePropagation()//var currentIdx = $(this).parent().index();$(this).parent().remove();var currentTabs = $(“ul.tabs”).html();console.log(typeof currentTbbs)//var storedTab = localStorage.getItem(‘tab’)// if (storedTab){// arrTabs = currentTabs.split(‘ ’)// arrTabs.splice(currentIdx, 1)// var currentTabs = arrTabs.join(‘ ’)// }//localStorage.setItem(‘tab’, ”)localStorage.setItem(‘tab’, currentTabs)var last_idx = $(“ul.tabs”).find(‘li’).length;var activeTab = $(“ul.tabs li a:last”).attr(“href”);//console.log(‘last-child’, last_idx)localStorage.setItem(‘activeTab’, activeTab);//var activeTab = “#tab”+last_idx;//$(“ul.tabs li”).eq(last_idx).addClass(“active”).show();//$(activeTab).fadeIn(); //Fade in the active ID content$(“ul.tabs li:last-child”).trigger(‘click’);console.log(‘aaativetab del’, activeTab);console.log($(this));})$(“#btnAdd”).on(‘click’, function(e){e.stopImmediatePropagation()var tabIdx = $(“ul.tabs li”).length+1;console.log(tabIdx)var tabTitle = “tab” + tabIdx;var dt = new Date()tabIdx = dt.getMilliseconds()addTab(tabIdx, tabTitle)})});</script></head><body><div id=”wrapper”><input type=”button” id=”btnAdd”>tab add</div><!–탭 메뉴 영역 –><ul class=”tabs”><li><a href=”#tab1″>tab1</a><span class=”removeTab”>x</span></li></ul><!–탭 콘텐츠 영역 –><div class=”tab_container”><div id=”tab1″ class=”tab_content”><!–Content–><h1>tab1영역</h1>내용 내용 내용 내용 내용 내용 <br/>자바킹 블로그 :<a href=”http://javaking75.blog.me”>javaking75.blog.me</a></div><!– <div id=”tab2″ class=”tab_content”>Content<h1>tab2영역</h1>내용 내용 내용 내용 내용 내용</div> –></div></div></body></html> -
intellij keymap
https://lalwr.blogspot.com/2018/04/intellij.html
출처: https://soye0n.tistory.com/260
출처 : https://lalwr.blogspot.com/2018/04/intellij.html
Editing
Ctrl + Space : Basic code completion (the name of any class,method or variable)
Ctrl + Shift + Space : Smart code completion (filters the list of methodsand variables by expected type)
Ctrl + Shift + Enter: Complete statement
Ctrl + P : 함수호출시 인수 정보 확인 (within method call arguments)
Ctrl + Q : 코드에 대한 문서창 팝업
Shift + F1 : 코드에 대한 문서 인터넷 브라우저로 팝업
Ctrl + mouse : 코드를 링크처럼 타고 들어감
Ctrl + F1 : Show descriptions of error or warning at caret
Alt + Insert : 코드 생성 (Getters, Setters, Constructors,hashCode/equals, toString)
Ctrl + O : 메서드 오버라이드 구현
Ctrl + I : 인터페이스 메서드 구현
Ctrl + Alt + T : 다음으로 코드 감싸기… (if..else, try..catch, for,synchronized, etc.)
Ctrl + / : 줄 단위 주석 토글
Ctrl + Shift + / : 블럭 단위 주석 토글
Ctrl + W : 가장 안쪽의 괄호부터 선택(점점 확장 된다.)
Ctrl + Shift + W : Decrease current selection to previous state
Alt + Q : Context info
Alt + Enter : Show intention actions and quick-fixes
Ctrl + Alt + L : 파일 단위 재정렬 (이클립스의 ctrl + shift + f)
Ctrl + Alt + O : import 문 최적화
Ctrl + Alt + I : 줄단위 재정렬
Tab / Shift + Tab : 들여쓰기/내어쓰기
Ctrl + X or Shift + Delete : 잘라내기 (블럭 선택이 안되어 있으면 라인을 잘라냄)
Ctrl + C or Ctrl + Insert : 복사하기(블럭 선택이 안되어 있으면 라인을 복사함)
Ctrl + V or Shift + Insert : 붙여넣기
Ctrl + Shift + V : 복사하기 (목록에서 선택하여)
Ctrl + D : 선택된 블럭을 복제
Ctrl + Y : 캐럿을 있는 곳의 라인 삭제
Ctrl + Shift + J : 스마트하게 코드를 한 줄로 합친다.
Ctrl + Enter : 스마트하게 코드를 여러줄로 나눈다.
Shift + Enter : 커서가 어디에 있건 다음 라인을 생성하고 첫줄로 이동
Ctrl + Shift + U : 커서가 있는 곳이나 블럭이 있는 곳을 대문자 및 소문자로 치화
Ctrl + Shift + ] / [ : 가장 가까운 괄호 시작/종료로 이동
Ctrl + Delete : 단어 삭제 (커서 시작부터)
Ctrl + Backspace : Delete to word start
Ctrl + NumPad+/- : Expand/collapse code block
Ctrl + Shift + NumPad+ : Expand all
Ctrl + Shift + NumPad- : Collapse all
Ctrl + F4 : Close active editor tabDouble Shift Search everywhere
Ctrl + F : Find
F3 : Find next
Shift + F3 : Find previous
Ctrl + R : Replace
Ctrl + Shift + F : Find in path
Ctrl + Shift + R : Replace in path
Ctrl + Shift + S : Search structurally (Ultimate Edition only)
Ctrl + Shift + M : Replace structurally (Ultimate Edition only)Usage Search
Alt + F7 / Ctrl + F7 : Find usages , Find usages in file
Ctrl + Shift + F7 : Highlight usages in file
Ctrl + Alt + F7 : Show usagesCompile and Run
Ctrl + F9 : Make project (compile modifed and dependent)
Ctrl + Shift + F9 : Compile selected file, package or module
Alt + Shift + F10 : Select configuration and run
Alt + Shift + F9 : Select configuration and debug
Shift + F10 : Run
Shift + F9 : Debug
Ctrl + Shift + F10 : Run context configuration from editorDebugging
F8 : Step over
F7 : Step into
Shift + F7 : Smart step into
Shift + F8 : Step out
Alt + F9 : Run to cursor
Alt + F8 : Evaluate expression
F9 : Resume program
Ctrl + F8 : Toggle breakpoint
Ctrl + Shift + F8 : View breakpointsNavigation
Ctrl + N : Go to class
Ctrl + Shift + N : Go to file
Ctrl + Alt + Shift + N : Go to symbol
Alt + Right/Left : Go to next/previous editor tab
F12 : Go back to previous tool window
Esc : Go to editor (from tool window)
Shift + Esc : Hide active or last active window
Ctrl + Shift + F4 : Close active run/messages/find/… tab
Ctrl + G : Go to line
Ctrl + E : Recent files popup
Ctrl + Alt + Left/Right : Navigate back/forward
Ctrl + Shift + Backspace : Navigate to last edit location
Alt + F1 : Select current file or symbol in any view
Ctrl + B or Ctrl + Click : Go to declaration
Ctrl + Alt + B : Go to implementation(s)
Ctrl + Shift + I : Open quick definition lookup
Ctrl + Shift + B : Go to type declaration
Ctrl + U : Go to super-method/super-class
Alt + Up/Down : Go to previous/next method
Ctrl + ] / [ : Move to code block end/start
Ctrl + F12 File : structure popup
Ctrl + H Type : hierarchy
Ctrl + Shift + H : Method hierarchy
Ctrl + Alt + H : Call hierarchy
F2 / Shift + F2 : Next/previous highlighted error
F4 / Ctrl + Enter : Edit source / View source
Alt + Home : Show navigation bar
F11 : Toggle bookmark
Ctrl + F11 : Toggle bookmark with mnemonic
Ctrl + #[0-9] : Go to numbered bookmark
Shift + F11 : Show bookmarksRefactoring
F5 : Copy
F6 : Move
Alt + Delete : Safe Delete
Shift + F6 : Rename
Ctrl + F6 : Change Signature
Ctrl + Alt + N : Inline
Ctrl + Alt + M : Extract Method
Ctrl + Alt + V : Extract Variable
Ctrl + Alt + F : Extract Field
Ctrl + Alt + C: Extract Constant
Ctrl + Alt + P : Extract ParameterVCS/Local History
Ctrl + K : Commit project to VCS
Ctrl + T : Update project from VCS
Alt + Shift + C : View recent changes
Alt + BackQuote (`) : ‘VCS’ quick popupLive Templates
Ctrl + Alt + J : Surround with Live Template
Ctrl + J : Insert Live Template
iter : Iteration according to Java SDK 1.5 style
inst : Check object type with instanceof and downcast it
itco : Iterate elements of java.util.Collection
itit : Iterate elements of java.util.Iterator
itli : Iterate elements of java.util.List
psf : public static final
thr : throw newGeneral
Alt + #[0-9] : Open corresponding tool window
Ctrl + S : Save all
Ctrl + Alt + Y : Synchronize
Ctrl + Shift + F12 : Toggle maximizing editor
Alt + Shift + F : Add to Favorites
Alt + Shift + I : Inspect current file with curre?nt profile
Ctrl + BackQuote (`) : Quick switch current scheme
Ctrl + Alt + S : Open Settings dialog
Ctrl + Alt + Shift + S : Open Project Structure dialog
Ctrl + Shift + A : Find Action
Ctrl + Tab : Switch between tabs and tool window메인메소드 생성 및 실행
– 디렉토리, 패키지, 클래스 등 생성 목록 보기
맥 : Command + n
윈도우 : Alt + Insert– 코드 템플릿
메인 메소드 : psm
System.out.println() : sout
if Null 구문 : ifn실행환경 실행
– 현재포커스
맥 : Command + Shift + R
윈도우, 리눅스 : Shift + Ctrl + F10
– 이전실행
맥 : Ctrl + R
윈도우 : Shift + F10라인 수정하기
-라인 복사
맥 : Command + D
윈도우 : Ctrl + D-라인 삭제
맥 : Command + 백스페이스
윈도우 : Ctrl + Y-라인 합치기(라인단위)
맥 : Command + Shift + J
윈도우 : Ctrl + Shift + J라인 단위로 옮기기
– 구문 이동
맥 : Command + Shift + 위,아래
윈도우 : Ctrl + Shift + 위,아래
– 라인 이동
맥 : Option + Shift + 위,아래
윈도우 : Alt + Shift + 위,아래– Element 단위로 옮기기
맥 : Option + Shift + Command+ 왼쪽,오른쪽
윈도우 : Alt + Ctrl + Shift + 왼쪽,오른쪽코드 즉시보기
– 인자값 즉시 보기
맥 : Command + P
윈도우 : Ctrl + P– 코드 구현부 즉시 보기
맥 : Option + Space
윈도우 : Shift + Ctrl + I– Doc 즉시 보기
맥 : F1
윈도우 : Ctrl + Q포커스 에디터
– 단어별 이동
맥 : Alt + <, >
윈도우, 리눅스 : Ctrl + <, >– 단어별 선택
맥 : Shift + Alt + <, >
윈도우, 리눅스 : Shift + Ctrl + <, >– 라인 첫/끝 이동
맥 : Fn + <, >
윈도우 : Home, End– 라인 전체 선택
맥 : Shift + Command + <, >
윈도우, 리눅스 : Shift + Home, End– Page Up/Down
맥 : Fn + 위/아래
윈도우 : Page Up / Down포커스 특수키
– 포커스 범위 한 단계씩 늘리기
맥 : Alt + 위/아래 화살표
윈도우, 리눅스 : Ctrl + W(위) / Shift + Ctrl + W(아래)– 포커스 뒤로/앞으로 가기
맥 : Command + [ , ]
윈도우, 리눅스 : Ctrl + Alt + 좌,우– 멀티 포커스
맥 : Alt + Alt + 아래
윈도우, 리눅스 : Ctrl + Ctrl + 아래– 오류 라인 자동 포커스
맥 : F2
윈도우, 리눅스 : F2검색 텍스트
– 현재 파일에서 검색
맥 : Command + F
윈도우 : Ctrl + F– 현재 파일에서 교체
맥 : Command + R
윈도우 : Ctrl + R– 전체 검색
맥 : Command + Shift + F
윈도우 : Ctrl + Shift + F– 정규표현식으로 검색, 교체
맥, 윈도우 : Regex 체크검색기타
– 파일 검색
맥 : Shift + Command + O
윈도우 : Shift + Ctrl + N– 메소드 검색
맥 : Alt + Command + O
윈도우 : Shift + Ctrl + Alt + N– Action 검색
맥 : Shift + Command + A
윈도우 : Shift + Ctrl + A– 최근 열었던 파일 목록 보기
맥 : Command + E
윈도우 : Ctrl + E– 최근 수정했던 파일 목록 보기
맥 : Command + Shift+ E
윈도우 : Ctrl + Shift + E– 변수/필드의 데이터 변경 지점 찾기
변경되는 포인트 : 변수나 필드에 커서를 놓고 action 에서 “dataflow” 입력 후 “Analyze Dataflow to Here” 선택
영향주는 포인트 : 변수나 필드에 커서를 놓고 action 에서 “dataflow” 입력 후 “Analyze Dataflow from Here” 선택– 중복된 코드 찾기
action에서 ” Locate Duplicate” 입력자동완성
– 스마트 자동완성
맥 : control + Shift + Space
윈도우 : control + Shift + Space– 스태틱 메소드 자동완성
맥 : control + Shift * 2
윈도우 : control + Shift * 2– Getter/Setter/생성자 자동완성
맥 : Command + N
윈도우 : Alt + Insert– 자동완성
맥 : control + I
윈도우 : Ctrl + ILive Template
– Live Template 목록 보기
맥 : Command + J
윈도우, 리눅스 : Ctrl + J
– Live Template 메뉴에서 나만의 템플릿 추가 가능리팩토링 Extract
– 변수 추출하기
맥 : Command + Option + V
윈도우, 리눅스 : Ctrl + Alt + V
– 파라미터 추출하기
맥 : Command + Option + P
윈도우, 리눅스 : Ctrl + Alt + P
– 메소드 추출하기
맥 : Command + Option + M
윈도우, 리눅스 : Ctrl + Alt + M
– 이너클래스 추출하기
맥 : F6
윈도우, 리눅스 : F6
리팩토링 기타
– 이름 일괄 변경 하기
맥 : Shift + F6
윈도우, 리눅스 : Shift + F6
– 메소드 일괄 변경하기
맥 : Shift + Command + F6
윈도우, 리눅스 : Shift + Ctrl + F6
– Import 정리하기
맥 : control + Option + O
윈도우, 리눅스 : Ctrl + Alt + O
– Import 자동 정리하기
Settings | Editor | General | Auto Import에서 Optimize imports on the fly 선택– 코드 자동 정렬하기
맥 : Command + Option + L
윈도우, 리눅스 : Ctrl + Alt + L
디버깅
– Debug 모드로 실행하기(현재 위치의 메소드)
맥 : control + Shift + D
윈도우, 리눅스 : 없음
– Debug 모드로 실행하기(이전에 실행한 메소드)
맥 : control + D
윈도우, 리눅스 : Shift + F9
– Resume(다음 브레이크 포인트로 이동하기)
맥 : Command + Option + R
윈도우, 리눅스 : F9
– Step Over(현재 브레이크에서 다음 한줄로 이동하기)
맥 : F8
윈도우, 리눅스 : F8
– Step Into(현재 브레이크의 다음 메소드로 이동)
맥 : F7
윈도우, 리눅스 : F7
– Step Out(현재 메소드의 밖으로 이동)
맥 : Shift + F8
윈도우, 리눅스 : Shift + F8
– Evaluate Expression(브레이크된 상태에서 코드 사용하기)
맥 : Option+ F8
윈도우, 리눅스 : Alt + F8
– Watch(브레이크 이후의 코드 변경 확인하기)
맥 : 없음
윈도우, 리눅스 : 없음
Git 기본 기능 사용하기
– Git View On
맥 : Command + 9
윈도우, 리눅스 : Alt + 9
– Git Option Popup
맥 : control + V
윈도우, 리눅스 : Alt + ‘(Tab 위 버튼)
– Git History
맥 : control + V –> 4
윈도우, 리눅스 : Alt + ‘(Tab 위 버튼) –> 4
– Branch
맥 : control + V –> 7
윈도우, 리눅스 : Alt + ‘(Tab 위 버튼) –> 7
– Commit
맥 : Command + k
윈도우, 리눅스 : Ctrl + k
– Push
맥 : Command + Shift + k
윈도우, 리눅스 : Ctrl + Shift + k
– Pull
맥 : Command + Shift + A –> git pull
윈도우, 리눅스 : Ctrl + Shift + A –> git pull
GitHub 연동하기
– GitHub 연동하기
맥 : Command + Shift + A –> Share github
윈도우, 리눅스 : Command + Shift + A –> Share github
– GitHub Clone
메인 화면에서 Check out from Version Control 선택 후 Git 선택
클래스
– 클래스 구조 확인
맥 : command+7
윈동, : Alt + 7
플러그인
– 플러그인 설치
맥 : Command + Shift + A –> Plugins(Preferences)
윈도우, 리눅스 : Command + Shift + A –> Plugins(Preferences)
– Terminal
맥 : Option+ F12
윈도우, 리눅스 : Alt + F12
추천 플러그인
– .ignore
https://plugins.jetbrains.com/plugin/7495–ignore
– Presentation Assistant : 단축키 노출(윈도우, 맥)
https://plugins.jetbrains.com/plugin/7345-presentation-assistant
– BashSupport : .sh 확장자를 가진 Bash Script 작성 기능을 제공
https://plugins.jetbrains.com/plugin/4230-bashsupport
– Material Theme UI
https://plugins.jetbrains.com/plugin/8006-material-theme-ui
– Free MyBatis plugin : 마이바티스 플러그인
https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin
– CodeGlance : 코드 미니맵을 에티터창에 표시
https://plugins.jetbrains.com/plugin/7275-codeglance
– Rainbow Brackets : 각종 괄호를 짝에 맞게 무지개색으로 표시
https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
– JetBrain 서버에 Intellij 셋팅을 연동
https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html출처: https://soye0n.tistory.com/260 [코린이의 기록]
-
first, do UTF-8 after making spring project
in web.xml
<!– Encoding filter for UTF-8 for –>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter><filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>in home.jsp
<%@ page language=”java” contentType=”text/html; charset=UTF-8″
pageEncoding=”UTF-8″%> -
encoding utf-8 vs euc-kr
jsp1 에서는 utf-8, jsp2 에서는 euc-kr 문자를보내주는데
utf-8에서 보내주는 한글은 깨지고euc-kr에서 보내주는 한글은 정상적으로 받아집니다.javascriptfunction fncEnCode(param){// sjisbmocvar encode = ”;for(i=0; i<param.length; i++){var len = ”+param.charCodeAt(i);var token = ” + len.length;encode += token + param.charCodeAt(i);}return encode;}function fncDeCode(param){// sjisbmocvar sb = ”;var pos = 0;var flg = true;if(param != null){if(param.length>1){while(flg){var sLen = param.substring(pos,++pos);var nLen = 0;try{nLen = parseInt(sLen);}catch(e){nLen = 0;}var code = ”;if((pos+nLen)>param.length)code = param.substring(pos);elsecode = param.substring(pos,(pos+nLen));pos += nLen;sb += String.fromCharCode(code);if(pos >= param.length)flg = false;}}}return sb;}javapublic static String EnCode(String param){// sjisbmocStringBuffer sb = new StringBuffer();if(param == null){sb.append(“”);}else{if(param.length()>0){for(int i=0; i<param.length(); i++){String len = “”+((int)param.charAt(i));sb.append(len.length());sb.append(((int)param.charAt(i)));}}}return sb.toString();}public static String DeCode(String param){// sjisbmocStringBuffer sb = new StringBuffer();int pos = 0;boolean flg = true;if(param!=null){if(param.length()>1){while(flg){String sLen = param.substring(pos,++pos);int nLen = 0;try{nLen = Integer.parseInt(sLen);}catch(Exception e){nLen = 0;}String code = “”;if((pos+nLen)>param.length())code = param.substring(pos);elsecode = param.substring(pos,(pos+nLen));pos += nLen;sb.append(((char) Integer.parseInt(code)));if(pos >= param.length())flg = false;}}}else{param = “”;}return sb.toString();}