เอาล่ะอาจเป็นคำถามง่อย ๆ แต่ทุกคนใช้สิ่งเหล่านี้ไม่เหมือนกัน อะไรคือตัวช่วยประหยัดเวลาที่ดีที่สุดสำหรับ IDE นี้
ทอม
เอาล่ะอาจเป็นคำถามง่อย ๆ แต่ทุกคนใช้สิ่งเหล่านี้ไม่เหมือนกัน อะไรคือตัวช่วยประหยัดเวลาที่ดีที่สุดสำหรับ IDE นี้
ทอม
คำตอบ:
อย่าลืมCtrl+ Shift+ Lซึ่งจะแสดงรายการชุดแป้นพิมพ์ลัดทั้งหมด (ในกรณีที่คุณลืมสิ่งที่ระบุไว้ที่นี่)
ดูเหมือนว่าไม่มีใครพูดถึง Ctrl-2 L (กำหนดให้กับตัวแปรภายในเครื่องใหม่) และ Ctrl-2 F (กำหนดให้กับฟิลด์ใหม่) สิ่งเหล่านี้ได้เปลี่ยนวิธีที่ฉันเขียนโค้ด
ก่อนหน้านี้ฉันกำลังพิมพ์พูดว่า (| คือตำแหน่งเคอร์เซอร์):
Display display = new |
จากนั้นฉันก็กด Ctrl-Space เพื่อทำการเรียกตัวสร้างให้เสร็จสมบูรณ์ ตอนนี้ฉันพิมพ์:
new Display()|
แล้วกด Ctrl-2 L ซึ่งส่งผลให้:
Display display = new Display()|
สิ่งนี้ทำให้สิ่งต่างๆเร็วขึ้นจริงๆ (Ctrl-2 F ทำเหมือนกัน แต่กำหนดให้กับฟิลด์ใหม่แทนที่จะเป็นตัวแปรใหม่)
อีกทางลัดที่ดีคือ Ctrl-2 R: เปลี่ยนชื่อในไฟล์ เร็วกว่าการเปลี่ยนชื่อ refactoring (Alt-Shift-R) มากเมื่อเปลี่ยนชื่อสิ่งต่างๆเช่นตัวแปรภายใน
จริงๆแล้วฉันไปที่หน้าการกำหนดค่าตามความชอบการปรับแต่งคีย์และกำหนดการแก้ไขด่วนเพิ่มเติมทุกประเภทให้กับ Ctrl-2-something ตัวอย่างเช่นตอนนี้ฉันกด Ctrl-2 J เพื่อแยก / เข้าร่วมการประกาศตัวแปร, Ctrl-2 C เพื่อแยกคลาสชั้นในเป็นระดับบนสุด, Ctrl-2 T เพื่อเพิ่มการประกาศการโยนลงในฟังก์ชันเป็นต้นมีจำนวนมากที่กำหนดได้อย่างรวดเร็ว แก้ไขเลือกสิ่งที่คุณชื่นชอบและกำหนดให้ Ctrl-2 ทางลัด
อีกรายการโปรดของฉันในเทมเพลต "npe" ของฉันซึ่งกำหนดเป็น:
if (${arg:localVar} == null)
throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null");
สิ่งนี้ช่วยให้ฉันเพิ่มการตรวจสอบอาร์กิวเมนต์ที่เป็นโมฆะได้อย่างรวดเร็วในตอนเริ่มต้นของทุกฟังก์ชัน (โดยเฉพาะอย่างยิ่งการบันทึกอาร์กิวเมนต์ลงในฟิลด์หรือเพิ่มลงในคอลเล็กชันโดยเฉพาะตัวสร้าง) ซึ่งเหมาะอย่างยิ่งสำหรับการตรวจจับข้อบกพร่องในช่วงต้น
ดูแม่แบบที่มีประโยชน์อื่น ๆ อีกมากมายที่www.tarantsov.com/eclipse/templates/ ฉันจะไม่แสดงรายการทั้งหมดที่นี่เนื่องจากมีหลายรายการและเนื่องจากฉันมักจะเพิ่มรายการใหม่
เทคนิคการเติมโค้ดบางส่วน:
นี่คือวิธีที่ฉันเพิ่มฟิลด์
หากคุณยังไม่มีตัวสร้างให้เพิ่มตัวสร้าง (Ctrl-Space ที่ใดก็ได้ในการประกาศคลาสให้เลือกข้อเสนอแรก)
เพิ่มอาร์กิวเมนต์ (| คือตำแหน่งเคอร์เซอร์):
public class MyClass {
public MyClass(int something|) {
}
}
กด Ctrl-1 เลือก "กำหนดให้กับฟิลด์ใหม่" คุณได้รับ:
public class MyClass {
private final Object something;
public MyClass(Object something) {
this.something = something;
}
}
เพิ่มการตรวจสอบตัวชี้ค่า null ตามความเหมาะสม (ดูเทมเพลต“ npe” ด้านบน):
public class MyClass {
private final Object something;
public MyClass(Object something) {
npe|
this.something = something;
}
}
กด Ctrl-Space รับ:
public class MyClass {
private final Object something;
public MyClass(Object something) {
if (something == null)
throw new NullPointerException("something is null");
this.something = something;
}
}
ประหยัดเวลาได้ดี!
ctrl-shift-r และบัดดี้ ctrl-shift-t เพื่อเปิดทรัพยากรหรือพิมพ์ตามลำดับ ทรัพยากรรวมถึงไฟล์ทั้งหมดในโปรเจ็กต์ที่เปิดของคุณ (รวมถึงไฟล์ที่ไม่ใช่ java) และประเภทรวมถึงประเภท java ทั้งในโปรเจ็กต์ของคุณหรือในไลบรารีที่รวมอยู่ในโปรเจ็กต์
Crtl+ 1เป็นที่ชื่นชอบ การแก้ไขอย่างรวดเร็วสำหรับ Red-squiggles
นอกจากนี้ยังอยู่ในเมนูแก้ไข -> แก้ไขด่วน
Ctrl+ Shift+ Oเพื่อจัดระเบียบการนำเข้าซึ่งจะจัดรูปแบบให้สวยงามลบการนำเข้าที่ไม่จำเป็นและเพิ่มการนำเข้าที่ขาดหายไป
Ctrl-J เริ่มการค้นหาแบบเพิ่มหน่วย
กด Ctrl-J จากนั้นเริ่มพิมพ์ ใช้ขึ้น / ลงเพื่อค้นหาอินสแตนซ์ก่อนหน้า / ถัดไปของสิ่งที่คุณพิมพ์
Ctrl-Shift-J ค้นหาย้อนหลัง
การคลิกที่ประเภทการส่งคืนในการประกาศของวิธีการจะไฮไลต์จุดออกทั้งหมดของวิธีการ
ตัวอย่างเช่น:
1: public void foo()
2: {
3: somecode();
4: if ( blah ) return;
5:
6: bar();
7: }
การคลิกที่โมฆะจะเน้นผลตอบแทนในบรรทัดที่ 4 และปิด}ในบรรทัดที่ 7
อัปเดต : สามารถใช้งานได้สำหรับการลอง {} บล็อก หากคุณวางเคอร์เซอร์ไว้บนข้อยกเว้นในบล็อกจับและคราสจะเน้นวิธีการที่เป็นไปได้ซึ่งอาจทำให้เกิดข้อยกเว้นนั้น
จบรหัสสนับสนุน CamelCase เช่นการพิมพ์จะแสดงผลสำหรับCWAR
ClassWithAReallyLongName
เริ่มใช้คุณสมบัตินี้และคุณจะไม่พิมพ์ชื่อคลาสยาว ๆ อีก
(บางส่วนคัดลอกมาจากคำตอบอื่นเพราะฉันคิดว่าคำตอบที่มีคำใบ้ / เคล็ดลับเพียงข้อเดียวนั้นดีที่สุดสำหรับการสำรวจความคิดเห็น)
Alt-Up Arrow จะย้ายการเลือกปัจจุบันขึ้นหนึ่งบรรทัดลูกศร Alt-Down จะเลื่อนลง ฉันยังใช้ Alt-Shift-Up / Down Arrow ตลอดเวลา Ctrl-K และ Ctrl-Shift-K ค่อนข้างสะดวกในการค้นหาเหตุการณ์ถัดไป / ก่อนหน้าของการเลือกปัจจุบัน (หรือการค้นหาสุดท้ายหากไม่มีการเลือก)
มีตัวเลือกในการวางวงเล็บปีกกาเปิดและอัฒภาคโดยอัตโนมัติในตำแหน่ง "ถูกต้อง" คุณจะต้องเปิดใช้งานสิ่งนี้ - เลือกหน้าต่าง / การตั้งค่าและพิมพ์ "รั้ง" ในช่องค้นหา - ควรจะหาได้ง่าย (ไม่มีคราสในคอมพิวเตอร์เครื่องนี้) ผลกระทบ:
("|" คือเคอร์เซอร์):
if(i==0|)
การพิมพ์ "{" ตอนนี้จะส่งผลให้
if(i==0) {|
Hippie expand / Word Complete โดยได้รับแรงบันดาลใจจาก Emacs: จะเติมคำใด ๆ โดยอัตโนมัติในโปรแกรมแก้ไขใด ๆ โดยอิงจากคำอื่น ๆ ในไฟล์นั้น เติมข้อความอัตโนมัติภายใน String literals ในโค้ด Java ในไฟล์ xml ทุกที่
Alt + /
Alt-Shift-Rย่อมาจากrenameไม่ใช่ refactor Refactoring เป็นคำทั่วไป (ตามที่กำหนดโดยหนังสือ )
อย่างไรก็ตามมันเป็นหนึ่งในการปรับโครงสร้างที่ฉันชอบ อื่น ๆ ได้แก่ :
Alt-Shift-M : Extract Method (เมื่อเลือกบล็อกโค้ดหรือนิพจน์)
Alt-Shift-L : แยกตัวแปรท้องถิ่น (เมื่อเลือกนิพจน์)
Extract Local Variable มีประโยชน์อย่างยิ่งเมื่อฉันจำไม่ได้ (หรือรำคาญที่จะพิมพ์) ประเภทผลลัพธ์ของวิธีการ สมมติว่าคุณมีวิธีการJdbcTemplate createJdbcTemplate()
ในชั้นเรียนของคุณให้เขียนโค้ดดังนี้:
void someQuery() {
createJdbcTemplate()
}
เลือกนิพจน์createJdbcTemplate()
คลิก Alt-Shift-L พิมพ์ชื่อตัวแปรแล้วกด Enter
void someQuery() {
JdbcTemplate myTemplate = createJdbcTemplate();
}
CTRL+ D- เพื่อลบบรรทัดปัจจุบัน
อย่างแน่นอนCtrl+ Qเพื่อไปที่ตำแหน่งแก้ไขล่าสุด มีประโยชน์มากหลังจากถูกขัดจังหวะทางโทรศัพท์เจ้านายหรือคนอื่น ๆ
Ctrl+ Shift+M : เปลี่ยนวิธีการคงที่หรือการอ้างอิงแอตทริบิวต์แบบคงที่ของคลาสเป็นการนำเข้าแบบคง
ก่อน
import X;
...
X.callSomething();
หลังจาก
import static X.callSomething;
...
callSomething();
Alt+ Shift+ UpArrow ทำการเพิ่มการเลือก Alt+ Shift+ Downทำตรงกันข้าม
Alt+ UpหรือAlt+ Downเพื่อย้ายเส้น
ยังไม่มีใครพูดถึงคนที่ดีที่สุด คลิกที่ชั้นเรียนหรือวิธีการที่ชื่อและกด+CtrlT
คุณได้รับลำดับชั้นประเภทด่วน สำหรับชื่อคลาสคุณจะเห็นลำดับชั้นของคลาสทั้งหมด สำหรับชื่อเมธอดคุณจะได้ลำดับชั้นที่แสดงซูเปอร์คลาสและคลาสย่อยโดยการนำเมธอดนั้นไปใช้แตกต่างจากการกล่าวถึงนามธรรมหรือคลาสที่ไม่ได้กล่าวถึงเมธอด
สิ่งนี้มีขนาดใหญ่มากเมื่อคุณอยู่ในการประกาศวิธีการเชิงนามธรรมและต้องการทราบอย่างรวดเร็วว่ามีการนำไปใช้ที่ไหน
F3 เป็นรายการโปรดของฉันเปิดคำจำกัดความสำหรับรายการที่เลือก
Ctrl+ Shift+ Rมีคุณสมบัติที่น่าสนใจคุณสามารถใช้แค่ตัวอักษรอูฐตัวพิมพ์ใหญ่จากคลาสเมื่อค้นหา (เช่นการพิมพ์ CWAR จะแสดงผลลัพธ์สำหรับ ClassWithAReallyLongName)
Alt+ Shift+ W> Package Explorer ทำให้ชีวิตง่ายขึ้นเมื่อเรียกดูโครงการขนาดใหญ่
เคล็ดลับที่ไม่ใช่แป้นพิมพ์ลัดคือการใช้ชุดการกระทำในทีมของคุณ -> ซิงโครไนซ์มุมมองเพื่อจัดระเบียบการเปลี่ยนแปลงของคุณก่อนที่จะกระทำ
ตั้งค่าการเปลี่ยนแปลงให้เป็นค่าเริ่มต้นและการเปลี่ยนแปลงทั้งหมดที่คุณทำกับไฟล์จะถูกใส่ไว้ในชุดนั้นทำให้ง่ายต่อการดูว่าคุณได้เปลี่ยนแปลงอะไรไปบ้างในขณะที่ทำงานกับข้อบกพร่อง / คุณสมบัติเฉพาะและการเปลี่ยนแปลงอื่น ๆ ที่คุณมีในขณะทดสอบเป็นต้น
CTRL + SPACE สำหรับทุกอย่างทุกที่
สร้าง getters และ setters
สร้างตัวสร้างโดยใช้ฟิลด์
แยกวิธี ...
Refactor-> เปลี่ยนชื่อ
CTRL + O สำหรับโครงร่างด่วน CTRL + O + CTRL + O สำหรับโครงร่างที่สืบทอดมา
F4 เพื่อแสดงลำดับชั้นประเภท
เปิดลำดับชั้นการโทรเพื่อแสดงตำแหน่งที่เรียกเมธอด
CTRL + SHIFT + T เพื่อเปิด Java Type
CTRL + SHIFT + R เพื่อเปิดทรัพยากรใด ๆ
ALT + ซ้ายหรือขวาเพื่อไปข้างหน้าหรือข้างหลังผ่านแก้ไขสถานที่ในเอกสารของคุณ (ง่ายต่อการนำทาง)
วิธีการแทนที่ / ใช้งานหากคุณรู้ว่าคุณกำลังจะทำหลายวิธี (มิฉะนั้น CTRL + SPACE จะดีกว่าสำหรับการเลือกทีละรายการ
Refactor-> Extract Interface
Refactor-> ดึงขึ้น
Refactor-> กดลง
CTRL + SHIFT + O สำหรับจัดระเบียบการนำเข้า (เมื่อพิมพ์ชื่อคลาสทั่วไปเช่นแผนที่การกด CTRL + SPACE จากนั้นเลือกคลาสที่เหมาะสมจะนำเข้าโดยตรงสำหรับคุณ)
CTRL + SHIFT + F สำหรับการจัดรูปแบบ (แม้ว่า Eclipse ที่สร้างขึ้นในฟอร์แมตเตอร์อาจเป็นเพียงเล็กน้อยสำหรับโค้ดที่มีบรรทัดยาว)
แก้ไข: ใช่การดีบักบางอย่าง:
F5: เข้าสู่ (แสดงรายละเอียดให้ฉันดู!)
F6: ก้าวข้าม (ฉันเชื่อว่าคุณไปยังส่วนต่อไป ... )
F7: ก้าวออกไป (ฉันคิดว่าฉันสนใจวิธีนี้ แต่ปรากฎว่าฉันทำไม่ได้พาฉันออกไปจากที่นี่!)
F8: ดำเนินการต่อ (ไปจนกว่าจะถึงจุดพักถัดไป)
CTRL + SHIFT + I: ตรวจสอบนิพจน์ CTRL + SHIFT + I + CTRL + SHIFT + I: สร้างนิพจน์นาฬิกาบนนิพจน์ที่ตรวจสอบ
เบรกพอยต์แบบมีเงื่อนไข: คลิกขวาที่เบรกพอยต์และคุณอาจตั้งเงื่อนไขที่เกิดขึ้นซึ่งทำให้การทำงานของโปรแกรมหยุดทำงาน (การช่วยเหลือตามบริบทด้วย Ctrl + Space มีอยู่ที่นี่!)
F11 - ดีบักที่เปิดตัวล่าสุด (แอปพลิเคชัน)
CTRL + F11 - เรียกใช้ที่เปิดตัวล่าสุด (แอปพลิเคชัน)
Eclipse ช่วยให้คุณตั้งค่าเบรกพอยต์ตามตำแหน่งที่เกิด Exception
คุณเข้าถึงตัวเลือกผ่านทาง"j!" ข้อความแสดงแทน http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.pngไอคอนในหน้าต่างการดีบัก
ข้อความแสดงแทน http://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png
หัวข้อความช่วยเหลืออย่างเป็นทางการ " Add Java Exception Breakpoint " มีข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้
RuntimeException
กำหนดค่าเบรกพอยต์ข้อยกเว้นสำหรับให้หยุดชั่วคราวในคลาสย่อยก็จะถูกทริกเกอร์ด้วยNullPointerException
.Ctrl+ Alt+ Hกับวิธีการที่จะได้รับลำดับชั้นของการเรียกร้องให้มัน วิธีที่รวดเร็วเพื่อดูว่าถูกเรียกมาจากที่ไหน
Ctrl+ Alt+ UPหรือCtrl+ Alt+ DOWNเพื่อคัดลอกบรรทัด
Alt+ Shift+ Rเพื่อ refactor และเปลี่ยนชื่อ
นี่คือคอลเลกชันแป้นพิมพ์ลัดที่มีประโยชน์ที่สุดสำหรับ Eclipse 3 ของฉัน:
Eclipse 3 Favorite Keyboard Shortcuts.
by -=MaGGuS=-
Navigate:
• Ctrl + Shift + L – Shows useful keyboard shortcuts in popup window
• Ctrl + H – Search.
• Ctrl + K – Goes to next search match in a single file. Shift + Ctrl + K – goes to previous match.
• F3 - Goes to ‘declaration’ of something. Same as Ctrl + Click.
• Ctrl + Shift + G - Use this on a method name or variable. It will search for references in the code (all the code) to that item.
• Ctrl + O – Shows outline view of the current class or interface.
• Ctrl + T – Shows class hierarchy of the current class or interface. F4 – shows the same in separate tab.
• Ctrl + Shift + T - Open Type. Search for any type globally in the workspace.
• Ctrl + Shift + R – Open Resource. Search for any file inside workspace.
• Ctrl + J – Incremental search. Similar to the search in firefox. It shows you results as you type. Shift + Ctrl +J - Reverse incremental search.
• Ctrl + Q – Goes to the last edit location.
• Ctrl + Left|Right – Go Back/Forward in history.
• Ctrl + L – Go to line number.
• Ctrl + E – This will give you a list of all the source code windows that are currently open. You can arrow up or down on the items to go to a tab.
• Ctrl +PgUp|PgDown – Cycles through editor tabs.
• Ctrl + Shift + Up|Down - Bounces you up and down through the methods in the source code.
• Ctrl + F7 – Switches between panes (views).
• Ctrl + ,|. – Go to the previous/next error. Great in combination with Ctrl + 1.
• Ctrl + 1 on an error – Brings up suggestions for fixing the error. The suggestions can be clicked.
• Ctrl + F4 – Close one source window.
Edit:
• Ctrl + Space – Auto-completion.
• Ctrl + / – Toggle comment selected lines.
• Ctrl + Shift + /|\ – Block comment/uncomment selected lines.
• Ctrl + Shift + F – Quickly ‘formats’ your java code based on your preferences set up under Window –> Preferences.
• Ctrl + I – Correct indentations.
• Alt + Up|Down – move the highlighted code up/down one line. If nothing is selected, selects the current line.
• Ctrl + D – Delete row.
• Alt + Shift + Up|Down|Left|Right – select increasing semantic units.
• Ctrl + Shift + O – Organize Imports.
• Alt + Shift + S – Brings up “Source” menu.
o Shift + Alt + S, R – Generate getter/setter.
o Shift + Alt + S, O – Generate constructor using fields.
o Shift + Alt + S, C – Generate constructor from superclass.
• Alt + Shift + T – Brings up “Refactor” menu.
• Alt + Shift + J – Insert javadoc comment.
• F2 – Display javadoc popup for current item. Shift + F2 – Display javadoc in external browser.
Run/Debug:
• F11 / Ctrl + F11 – Execute/debug.
• Ctrl + Shift +B – Toggle breakpoint.
• When paused: F5 – Step into, F6 – Step over, F7 – Step out, F8 – Resume.
• Ctrl + F2 – Terminate.
EOF
ไม่ได้ซ่อนไว้ แต่ IMO เป็นเคล็ดลับที่ดีที่สุด
สมมติว่าการตั้งค่าเริ่มต้น (และคุณยังไม่ได้เพิ่มข้อมูลโค้ดใหม่)
ไฮไลต์ (หรือเลือก) ข้อความ (สตริงหรือตัวแปร) ... กด Ctrl + Space กด End + Enter ข้อมูลโค้ด "sysout" จะถูกทริกเกอร์ซึ่งล้อมรอบการเลือกไว้เป็นพารามิเตอร์
เช่น.
"hello world!"
becomes
System.out.println("hello world!");
ฉันชอบมากที่ได้ใช้ตัวอย่างข้อมูลที่คล้ายกันสำหรับ Toast และ Log.i () ของ Android ประหยัดเวลาได้มากในระหว่างการแก้จุดบกพร่องด้วยตนเอง ....