5. 1.2 What is Intellij IDEA ?
• Ultimate version VS Community version
• Open source since 2009
• Intellij Platform
www.jetbrains.com 5
6. 1.3 What is Intellij IDEA ?
•Basic Walkthorough
appearance
settings
project settings,
plugins
tweaks
www.jetbrains.com 6
7. 2.1 Why Intellij IDEA ? Fast
• Different inspections for the same file run
in parallel on multiple cores
• Different occurrences of target identifier
are checked in parallel
• Indices for everything literally
www.jetbrains.com 7
8. 2.2.1 Why IDEA ? Editor I
• Smart Code Completion
• Control + N source code scope , test code scope
• Control + Space
• Control + Space , Space
• Control + Shift + Space
• Template completion , Command + J
• Selection & Copy:
Command + W
Command + Shift + W
Copy/Cut Line Command + C, Command + X
Command + Shift + V clipboard history
www.jetbrains.com 8
9. 2.2.2 Why IDEA ? Editor II
• Local History
• Compare with Clipboard
• Fast Coding with Live templates
– user defined code templates
– template files
• Inject Language anywhere
www.jetbrains.com 9
10. 2.3.1 Why IDEA ? Navigation I
• Quick, handy navigation features
go to class, command + N
go to file, command + shift + N
go to variable, command + shift + alt + N
todo navigation , todo view
jump to navigation bar
quick documentation lookup Control + J
• Basic Search
• Find in editor ,command + f
• find in path , command + shift + f
• structural search,command+ shift + s
www.jetbrains.com 10
11. 2.3.2 Why IDEA ? Navigation II
• Tool Window Manipulation
• command + shift + up/down size last active tool
windows
• hide active window “shift + Esc”
• Back to editor “Esc”
• Search
command + f , f3 / shift f3 next previous
find in path , command + shift + f
• View recent changes option + shift + c
• View File Path “ command + alt + f12”
www.jetbrains.com 11
12. 2.3.4 Why IDEA ? Navigation III
• Structural navigation
• Popup show structure ,Command + F12
• Inspect method, Command + Shfit + I
• Back to editor ,Shift + Esc
• Bookmarks
• bookmark line F11
• bookmarks browser Shift + F11
• Structural Search,Command + Shift +S
www.jetbrains.com 12
14. 2.5.1 Why IDEA ? VCS
•Builtin VCS(Version Control System)
Support
• cvs,subversion,git….
•Github Integeration
• create gists directly
www.jetbrains.com 14
15. 2.5.2 Why IDEA ? Frameworks
• Maven
1.enable auto import
2. pom.xml:
autocompletion everywhere
add new control + n
refactoring
3.add maven repository from source
4.dependency diagram , search from
diagram
www.jetbrains.com 15
16. 2.5.3 Why IDEA ? Frameworks
•Hibernate,Spring,JPA…..
• seamless inter framework integration
• seamless database access integration
www.jetbrains.com 16
17. 2.5.4 Why IDEA ? Static Analysis
• Data Flow
• Stacktrace Analysis
• Duplicate Code Analysis
www.jetbrains.com 17
18. JRebel
• Plugin demo in intellij idea
www.jetbrains.com 18
19. Performance Tips
• IO Bounded, better drives rather than
better cpus
• Higher xmx would help a lot
• Turn off antivirus scanning for workspace
directory
• Disable Unused Plugins
• Exclude unused folders
• Avoid large unversioned files
www.jetbrains.com 19
20. Misc
• Report a problem
• Plugin Development
• Jetbrains TV
• Productivity Tips
• Keymap Reference
• Web Help
www.jetbrains.com 20
Hi everybody, how are you doing? Let’s get started. <Welcome to the presentation on IntelliJ IDEA.> <Story or joke can be put here to gain interest in the product, development efficiency and the speech> Before start: Unplug mouse (see slide 5, we need to show that IDEA is keyboard centric) Open Slides Open IDEA project with Demos Open IDEA project with DSM code Test projector resolution and font size Switch IDEA color scheme to ensure that the projector can show all the color highlights Open web browser window to be able to quickly show web page contents in the html demo
I’m Vaclav Pech, I am a software engineer at JetBrains, I write Java code and I have been working with IntelliJ IDEA for the past 6 years. During that time I’ve learned that effective and productive coding is what separates really great developers from the average programmer. You’ll see today, through code examples, how IntelliJ IDEA can help the average programmer to become a better developer. You’ll also see how JetBrains uses different development philosophies and techniques to build IntelliJ IDEA. By the way Jetbrains also creates tools for .Net productivity and continuous integration.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
The presentation is structured into two main parts. First we will together write some code so that you can learn useful productivity tips, which you can immediately start using with IntelliJ IDEA. In the second part I’ll reveal some of the new features of IntelliJ IDEA 7. We will together write some Spring and Hibernate code, work with a VCS and debug an application. I will also dedicate some time for your questions at the end of the presentation, but if you need clarification at any time, please ask immediately, so that you can follow our further steps.
So, in conclusion, Intellij IDEA is an innovative, productivity-centered full-featured IDE. <This is a joke, that has been well received.> Since we have a minute, I’m going to quickly write a code that calculates a summary of, let say, pending orders of a customer. The classes don’t exist yet, and I’ll use development by intention to code my algorithm and the create the missing pieces. Keep your eyes open for all he productivity features. <Show the fast code assistance demo so that it looks like real coding, at some point step back from the keyboard so that all can see that I was cheating> [Fast code assistance - 09_fastCodeAssistance] You see, still reading from the keyboard buffer. No, that was just a sneak preview the next version of IntelliJ IDEA, IDEA 8, with its thought-driven programming. Go and try IntelliJ IDEA. You can evaluate it free for 30 days. And let me know what you think. If you have any questions at all, I’ve got the answers. Personally, I’m sure you will be amazed with how fast you can be when writing code.
It was my pleasure to speak for your JUG meeting. Thank you for your attention. Now I am ready to answer your questions. For questions on why we charge money Because your get what you play for - added productivity, ease of use and a more intelligent environment. What we’re trying to do is bring Java developers some extra value. Unlike our competitors we’re not trying to a) bring people to the Java platform for long-term profit or b) make money off tools like MyEclipse or WSAD consultancy. If it’s only the price tag that holds you back, you’ve got options. If you need IDEA for an open source project or educational purposes, then you can use IDEA for free. And if you’re writing software for a living and charging money for your work, then that extra value I’ve just talked about means a lot to you, for the cost of 2 - 3 tanks of petrol. Our innovation has driven the IDEs for the past 7 years, many other IDEs use the functionality that we pioneered and they’re still chasing things as our refactorings and our editor, as well as other things. The cash that our fans have given to us over the years we’ve used to drive productivity. And since we have a high percentage of people who upgrade each year that productivity bonus is obviously worth it. Thanks to this policy we can keep our exceptional innovation pace and ensure that you always may develop with pleasure. For the money you may be productive right now. Judge yourself how many of the features I’ve shown today and in what quality you can find in your IDE. It would take quite some time, so let’s discuss that at the beer party. Developers should use the IDE they feel most comfortable with. Some of our customers claim that IDEA pays for itself within three weeks. Why should they participate in the EAP First it’s you who benefits. You get the features you want, you get them smoothly integrated into the rest. Second, it is the community that benefits from the feature being available. And we will make sure, it’s not implemented as a solitaire feature, but smoothly integrated with the rest of the IDE. I am not sure about the other IDEs, how easy it is to get some core functionality changed. If you do, let’s talk about it after the presentation and compare it with the feedback mechanism we have for IDEA. I’d be interested in such a comparison. Others are trying to copy us. That’s a good sign that we are ahead of the crowd. It gives us an indication that we are doing the right thing, we provide functionality that the developers want. We are not afraid as we are certainly not standing still, we are a moving target, a quickly moving one. Your tool is bloated with unneeded functionality We don’t add functionality because we need to sell some hardware or software and need support for it in the IDE , we develop IDEA based what the developers ask for. Each IDEA version starts with intense on-line brainstorming with the customers about what they want to be supported in the next version. And the functionality is gradually tuned in the EAP. Our future success depends on our ability to provide functionality that the developers need. I believe that such a short feedback helps us innovate faster. Why don’t we make IDEA a set of plugins for another platform We would loose control over the core. And it is the core that makes the biggest difference. We need to be able to modify the core to smoothly integrate all the pieces together, propagate changes across technology boundaries, reuse key shortcuts, use consistent views and provide new refactorings. Performance needs improvement Do you have a specific problem, maybe our technical support could resolve the issue, in general we don’t think IDEA is performing badly, disable some plugins to save memory and speed-up startup, use multi-core processor to leverage the new multithreaded core IDEA is bloated with unwanted functionality Developers ask for them, we can't ignore Maven, Spring or Hibernate. We’re expanding productivity to other domains. You don't need to upgrade, or you can disable the unwanted plugins. Why don’t we open source IDEA Do you frequently read or modify sources of your tools? If so, you are more an exception than a rule. There are not many developers, who deliberately modify their own tool and I certainly respect that. Those are usually the most innovative and forward thinking among programmers and they have my respect. We consider the sources as part of our know-how and keep them internal. However, we offer EAP to put customer-driver innovation into IDEA and we’ve open sourced considerable parts of IDEA to help developers develop plugins. Why is our off-line documentation so weak IDEA is evolving so quickly that documentation sometimes lags behind a bit. However, the documentation can only provide a general guide, but most problems developers face are very specific ones. That’s why all IDEA users can use our on-line technical support and the EAP community forum to get answers to their specific problems. We also gradually improve the on-line documentation, demos and tutorials. And people like it. Subscription licensing Currently our customers are happy with the licensing scheme that we have. However, if the preferences of our customers change at some point, we’ll listen to them and we may start offering other options, as well. We were considering the subscription licensing some time ago, but customers didn’t really want that at that time. That’s a really good question. Oh, I’m glad you asked. The answer would be rally long I’m not working on that problem That’s a good use case to try our technical support Oh, that’s really deep Interesting questions for beer discussion: <Is anyone here working in such a mixed IDE environment? How many of you are restricted by the employer or the customer in which IDE they may use? How did they like the pre-prepared demo?>
So, in conclusion, Intellij IDEA is an innovative, productivity-centered full-featured IDE. <This is a joke, that has been well received.> Since we have a minute, I’m going to quickly write a code that calculates a summary of, let say, pending orders of a customer. The classes don’t exist yet, and I’ll use development by intention to code my algorithm and the create the missing pieces. Keep your eyes open for all he productivity features. <Show the fast code assistance demo so that it looks like real coding, at some point step back from the keyboard so that all can see that I was cheating> [Fast code assistance - 09_fastCodeAssistance] You see, still reading from the keyboard buffer. No, that was just a sneak preview the next version of IntelliJ IDEA, IDEA 8, with its thought-driven programming. Go and try IntelliJ IDEA. You can evaluate it free for 30 days. And let me know what you think. If you have any questions at all, I’ve got the answers. Personally, I’m sure you will be amazed with how fast you can be when writing code.