Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Preview
Video Player
00:00
00:00
00:00
- 2x 2x
- 1.75x 1.75x
- 1.5x 1.5x
- 1.25x 1.25x
- 1.1x 1.1x
- 1x 1x
- 0.75x 0.75x
- 0.5x 0.5x
Not all code is developed in the same environment. Let's learn how to bring in outside project into our shiny new IDE.
Project Files
- In the course downloads zip file, use the Karaoke Project
Additional Reading
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
Okay, so remember that quiz
question from a previous
0:01
course where I asked about a dunk tank?
0:03
Well some of you didn't know
what that was and I apologize.
0:05
It's a carnival game where someone
sits over a pool of water on a shelf.
0:08
The carnival-goer buys the balls and
they throw it at the target.
0:12
If they hit the target,
the person falls into the water.
0:16
Now I'm sure you're imagining
putting me on that dunk tank and
0:20
throwing the ball and
having me dunked into freezing cold water,
0:23
because I didn't show
you these tools earlier.
0:27
But, before you get too upset at me, let's
take a second to appreciate that you were
0:29
able to code in Java without these tools.
0:33
You didn't need these training
wheels on your editor.
0:36
Let's be honest, most of the warnings
wouldn't have made any sense to you at
0:38
all until you got started.
0:42
Now, that being said though,
you can totally dunk me.
0:44
I'm sure I deserve it.
0:47
I did make you type a lot more than you
would have to in a real world situation.
0:48
So let's just say at this point, I
definitely owe you three dunk tank balls.
0:52
Alright, so let's import that very
long project that you painstakingly
0:56
completed without code assistance in
the previous course, the karaoke machine.
1:01
I want to show you how to bring outside
code into this new world order.
1:06
Okay, so I've included a zip file of
1:10
the source code from the final
project in the teacher's notes.
1:13
If you want to get your own version, just
go to your workspace and choose File >
1:16
Download Workspace, and that will send
down a ZIP file that you can then open up.
1:20
So what I've done is I've downloaded
that ZIP file, I've unzipped it, and
1:24
now I have that source code in a folder.
1:26
Here it is.
1:28
Now, since we're just hand
coding like this and there isn't
1:30
any additional project information,
let's first just create a new project.
1:32
Okay.
So, the way that you do that is,
1:37
in IntelliJ you choose
File > New > Project.
1:38
Okay.
And this is very much like the Create New
1:43
Project that we saw before, and we wanna
just leave it, the Project SDK the same.
1:45
We don't wanna do a template, right?
1:50
Because we've already got our code that
we need, so we're just gonna go ahead and
1:51
leave that unchecked.
1:54
And we're gonna call this Karaoke.
1:56
Okay.
So, it's possible to have multiple windows
2:01
open with different editors and
that's what this prompt is asking.
2:04
It's asking if we want to replace this
window or if we wanna make a new one and
2:07
have them side by side.
2:11
For our case,
we're just gonna use this one.
2:12
So what it's gonna do is it's gonna get
rid of the systemizer window that we have
2:14
and we're gonna put up the karaoke window.
2:17
Cool.
2:20
So, this is an empty project.
2:21
By default, the project is set
up in a directory based format.
2:24
When creating a project,
a default module is added for us, and
2:27
that's what this is here, this karaoke.
2:31
Now a module in IntelliJ is defined
as a discreet unit of functionality.
2:33
Modules contain everything that is
required for their specific task, and
2:38
they come with an .idea folder.
2:43
This .idea folder.
2:44
It contains files about how
you like your editor setup.
2:46
They also have an IML file here, and
2:49
it keeps project specific
settings in one place.
2:51
The .iml suffix stands for idea module,
and the fact that all the settings are in
2:54
a file like this, it makes sure
that teams can have the same setup.
2:59
So I could share this with somebody
else and this setup would be the same.
3:02
There's a little icon on this folder here,
on the karaoke folder here of this module.
3:06
And that's saying that it's the content
root folder. This source folder here
3:11
is short for source code.
3:16
And it's blue you'll notice, and that blue
represents that it's the source root.
3:18
All other folders are sort of orange and
yellow like that.
3:22
If you're working with other projects from
idea users or even Eclipse projects,
3:26
you can actually import
things really easy.
3:30
So, you could get these IML files
from other people like I was saying.
3:32
But what I wanna show you here
first is that when you don't
3:36
have an existing idea project to import,
like we don't currently, right?
3:39
Our karaoke project is hand-coded.
3:42
You can imagine this as kind of converting
or upgrading to an idea project.
3:44
These idea projects respond really
well to dragging and dropping.
3:49
So, I'm gonna go ahead and I am gonna
grab the karaoke folder and our packages.
3:53
And I'm gonna drag those and
3:59
I'm gonna just click right inside
the source file here, okay?
4:01
And it's gonna go ahead and
say move the specified references and
4:05
that's fine, right?
4:07
Cuz that was just a zip folder that I had.
4:08
So I'm just gonna go ahead and move them.
4:09
And it says open the moved
files in the editor.
4:11
Sure, why not?
4:13
Okay, and
it says they don't belong to the project.
4:15
Okay I understand that.
4:18
I'm moving them.
4:19
And finally, I'm gonna bring this
songs.txt to the content root.
4:22
Right?
So I'm gonna put it here.
4:27
When we end up running this later and
4:28
again it asks for
the same things here again.
4:30
Before we were running right from
the start of the directory and
4:32
this is relative.
4:36
We'll explore this a little bit in
the future when we go to run this.
4:37
But I just wanted to point out that we
don't want to drop it into source code
4:41
folder, we're gonna put it in the content
root, and I'll show you why here in a bit.
4:44
Okay, so, I really wanna show you
something that's gonna make you happy.
4:47
So, you can set up these
different formatting rules.
4:52
So, here's our Song.java file.
4:55
Now let's say that when we were coding,
4:57
we weren't the cleanest about things
about things that we kind of did.
4:59
We move this over, got a warning up
here about the file is indented with
5:03
two spaces instead of four, and that's
kind of the default here, in this world.
5:09
And this is nice, right?
5:12
Cuz if you have different team
members working on different things.
5:14
So, I'm just gonna screw up the spacing
a little bit because, you know,
5:16
we were rushing to get through this
before and the spacing wasn't quite done.
5:19
So, let's go ahead and
come up here to code.
5:23
And if you look down here in this code,
there's this Reformat code,
5:28
and that is Option+Command+L on a Mac.
5:35
So I'm gonna go ahead and
I'm gonna click that.
5:39
Watch what it does.
5:40
Boom.
Everything got set the proper way and
5:42
now it's also at four spaces.
5:44
But look,
everything's back to where it was.
5:45
So, I am gonna do that again and
I'm gonna do that again and
5:47
we'll just bring this guy.
5:51
It's pretty good at not
letting me screw those up.
5:54
So, I'm going to Option+Command+L and
everything is back to normal.
5:57
So it's Ctrl+Alt+L in Windows.
6:02
That's great.
6:03
But what if I knew that I
remembered doing that one time, but
6:04
I can't remember where it's at?
6:08
So there's a great feature in
IntelliJ whic will be your friend,
6:09
especially when you're learning this.
6:12
If you press Cmd+Shift+A, or
Shift+Ctrl+A on Windows, and you choose.
6:14
I know it wasn't Reformat.
6:22
There it is, Reformat Code.
6:25
And then, boom.
6:26
And it will do it.
6:27
And I have to break anything,
let's break something real quick.
6:29
So, Control+Shift+A, Reformat Code,
boom, that fixed it.
6:34
Great, right?
6:38
So, we just did this file, but let's go
ahead and open up another file over here.
6:39
Let's open up Songbook.
6:44
So we can go ahead and
reformat the entire package.
6:46
So, if I come up here to the source
folder and I say Reformat Code,
6:50
we're gonna include subdirectories and
we're gonna leave Optimize Imports, right?
6:57
So that's gonna remove any imports that
we didn't use, cuz that can happen, and
7:01
we're also gonna choose Rearrange Entry.
7:05
So, I'm gonna click Run.
7:07
So, now all the files, and
7:10
we can open them up by clicking
on them over here, are done.
7:12
You also notice there's
some of these pluses.
7:16
This is here to kind of help you read your
code quicker, but I'm gonna open this up.
7:18
One more thing I wanted to show you really
quick is, on the imports over here,
7:23
remember we put the dot star, and
I told you it was a little bit lazy?
7:26
Well let's go ahead and let's put our
cursor here and let's see what happens.
7:30
Look, there's a little thing
that popped up over here.
7:32
This light bulb is called
an intention action.
7:34
What happens with these intention
actions are they're suggestions
7:37
of what could happen.
7:40
So, let's go ahead and open this up and it
says, replace with single class imports.
7:42
That's great,
that's exactly what we wanted.
7:46
We just didn't want to have to type
all those out, so let's do that.
7:47
And what it did was it took an
alphabetized order of everything that we
7:50
used in here that was under that star.
7:54
Pretty powerful tool, isn't it?
7:56
Okay, we learned a ton there.
7:58
And as I'm sure,
8:00
you saw when you opened that menu up,
there are a lot more actions in there.
8:01
We definitely aren't gonna hit all of
those, but in a bit, I'll show you how
8:04
awesome the documentation is for
the IntelliJ Idea Project.
8:08
You can dive in at your own pace.
8:12
So let's go ahead and
take a quick break and I'll swing back and
8:14
show you how to run our application.
8:16
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up