Migrate from Eclipse to IntelliJ IDEA
Switching from Eclipse to IntelliJ IDEA, especially if you've been using Eclipse for a long time, requires understanding some fundamental differences between the two IDEs, including their user interfaces, compilation methods, shortcuts, project configuration and other aspects.
You can import either an Eclipse workspace or a single Eclipse project. To do this, click Open on the Welcome Screen or select File | Open in the main menu.
![Welcome screen Welcome screen](https://resources.jetbrains.com/help/img/idea/2023.3/ij_welcome_window.png)
If your project uses a build tool such as Maven or Gradle, we recommend selecting the associated build file pom.xml or build.gradle when importing the project. For more information about importing a project, refer to Import a project from Eclipse.
If you'd like to import your existing run configurations from Eclipse, consider using this third-party plugin.
The first thing you'll notice when launching IntelliJ IDEA is that it has no workspace concept. This means that you can work with only one project at a time. While in Eclipse you normally have a set of projects that may depend on each other, in IntelliJ IDEA you have a single project that consists of a set of modules.
If you have several unrelated projects, you can open them in separate windows.
If you still want to have several unrelated projects opened in one window, as a workaround you can configure them as modules.
The table below compares the terms in Eclipse and IntelliJ IDEA:
Eclipse | IntelliJ IDEA |
---|---|
Workspace | Project |
Project | Module |
Facet | Facet |
Library | Library |
JRE | SDK |
Classpath variable | Path variable |
The second big surprise when you switch to IntelliJ IDEA is that it has no perspectives.
It means that you don't need to switch between different workspace layouts manually to perform different tasks. The IDE follows your context and brings up the relevant tools automatically.
![IntelliJ IDEA project overview IntelliJ IDEA project overview](https://resources.jetbrains.com/help/img/idea/2023.3/ij-migration-guide-overview.png)
Just like in Eclipse, in IntelliJ IDEA you also have tool windows. To open a tool window, click its name in the tool window bar:
![Tool windows bars Tool windows bars](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_tool_window_bar_2.png)
If the tool window bar is hidden, you can open any tool window by hovering over the corresponding icon in the bottom-left corner:
![Tool windows bars menu Tool windows bars menu](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_tool_window_bar_1.png)
If you want to make the tool window bar visible for a moment, you can press Alt twice and hold it.
If you don't want to use the mouse, you can always switch to any toolbar by pressing the shortcut assigned to it. The most important shortcuts to remember are:
Project: Alt01
Commit: Alt00
Terminal: AltF12
Another thing about tool windows is that you can drag, pin, unpin, attach and detach them:
![Moving tool windows Moving tool windows](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_tool_windows.png)
For more information, refer to Arrange tool windows and Tool window view modes.
To help store/restore the tool windows layout, there are several useful commands:
Window | Layouts | Save Current Layout as New: save the arrangement as a new layout.
Window | Layouts | Restore Current Layout: reset changes in your current layout. (also available via ShiftF12)
For more information, refer to Layouts.
Windows management in IntelliJ IDEA is slightly different from Eclipse. You can't open several windows with one project, but you can detach any number of editor tabs into separate windows.
By default, IntelliJ IDEA doesn't change the selection in the Project tool window when you switch between editor tabs. However, you can enable it in the Project tool window settings:
![Enabling the 'Always select opened file' option Enabling the 'Always select opened file' option](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_auto_scroll_from_source.png)
IntelliJ IDEA has no Save button. Since in IntelliJ IDEA you can undo refactorings and revert changes from Local History, it makes no sense to ask you to save your changes every time.
Still, it's worth knowing that physical saving to disk is triggered by certain events, including compilation, closing a file, switching focus out of the IDE, and so on. You can change this behavior via Settings/Preferences | Appearance & Behavior | System Settings:
![Configuring the system settings Configuring the system settings](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_save_settings.png)
If you are an experienced Eclipse user, you are familiar with save actions: the actions triggered automatically on save, such as reformatting code, organizing imports, and so on.
IntelliJ IDEA also features save actions that you can find and enable in Settings/Preferences | Tools | Actions on Save.
![Settings: Actions on save Settings: Actions on save](https://resources.jetbrains.com/help/img/idea/2023.3/actions-on-save.png)
On top of that, IntelliJ IDEA offers you to run the corresponding actions automatically on commit:
![Committing changes to VCS Committing changes to VCS](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_commit.png)
Or manually:
Code | Reformat Code CtrlAlt0L
Code | Optimize Imports CtrlAlt0O
Code | Code Cleanup
The way IntelliJ IDEA compiles projects is different from Eclipse in a number of ways.
By default, IntelliJ IDEA doesn't automatically compile projects on saving because normally we don't invoke the save action explicitly in IntelliJ IDEA.
If you want to mimic the Eclipse behavior, you can invoke the Build Project action CtrlF9 - it will save the changed files and compile them.
You can also enable the Build project save action in Settings/Preferences | Tools | Actions on Save.
Note that automatic compilation in IntelliJ IDEA differs from that in Eclipse. In Eclipse it's not fully automatic, as it is triggered by the save action invoked by the user explicitly, whereas in IntelliJ IDEA it is invoked implicitly when you type in the editor.
This is why, even if the Build project option is enabled, IntelliJ IDEA doesn't perform automatic compilation if at least one application is running: it will reload classes in the application implicitly. In this case you can call Build | Build Project CtrlF9.
The Problems tool window appears if the Build project option is enabled in save actions. It shows a list of problems that were detected on project compilation.
![Problems tool window Problems tool window](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_problems_tool_window.png)
While Eclipse uses its own compiler, IntelliJ IDEA uses the javac compiler bundled with the project JDK. If you must use the Eclipse compiler, navigate to Settings | Preferences | Build, Execution, Deployment | Compiler | Java Compiler and select it as shown below:
![Configuring the Eclipse compiler Configuring the Eclipse compiler](https://resources.jetbrains.com/help/img/idea/2023.3/ij-migration_guide_eclipse_compiler.png)
The biggest difference between the Eclipse and javac compilers is that the Eclipse compiler is more tolerant to errors, and sometimes lets you run code that doesn't compile.
In situations when you need to run code with compilation errors in IntelliJ IDEA, replace the Build option in your run configuration with Build, no error check:
![Running code with compilation errors Running code with compilation errors](https://resources.jetbrains.com/help/img/idea/2023.3/ij-migration_guide_make_no_error_check.png)
IntelliJ IDEA shortcuts are completely different from those in Eclipse.
The table below shows how the top Eclipse actions (and their shortcuts) are mapped to IntelliJ IDEA (you may want to print it out to always have it handy).
note
If you choose a keymap specific to your operating system (Default for Windows/Linux or macOS for macOS), there may be conflicts between shortcuts used in IntelliJ IDEA and your OS. To avoid such conflicts, we recommend tweaking your OS shortcut settings (refer to Keymap for more details).
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Code completion | CtrlSpace | Basic completion | CtrlSpace |
- | - | Type-matching completion | CtrlShiftSpace |
- | - | Statement completion | CtrlShiftEnter |
Quick access | Ctrl+3 | Search everywhere | Double Shift |
Maximize active view or editor | Ctrl+M | Hide all tool windows | CtrlShiftF12 |
Open type | Ctrl+Shift+T | Navigate to class | Ctrl0N |
Open resource | Ctrl+Shift+R | Navigate to file | CtrlShift0N |
- | - | Navigate to symbol | CtrlAltShift0N |
Next view | Ctrl+F7 | - | - |
- | - | Recent files | Ctrl0E |
Quick outline | Ctrl+O | File structure | CtrlF12 |
Move lines | Alt+Up/Down | Move lines | AltShift0↑/AltShift0↓ |
Delete lines | Ctrl+D | Delete lines | Ctrl0Y |
Quick fix | Ctrl+1 | Show intention action | AltEnter |
Quick switch editor | Ctrl+E | Switcher | CtrlShiftTab |
- | - | Recent files | Ctrl0E |
Quick hierarchy | Ctrl+T | Navigate to type hierarchy | Ctrl0H |
- | - | Navigate to method hierarchy | CtrlShift0H |
- | - | Show UML popup | CtrlAlt0U |
Last edit location | Ctrl+Q | Last edit location | CtrlShiftBackspace |
Next editor | Ctrl+F6 | Select next tab | Alt0→ |
Run | Ctrl+Shift+F11 | Run | ShiftF10 |
Debug | Ctrl+F11 | Debug | ShiftF9 |
Correct indentation | Ctrl+I | Auto-indent lines | CtrlAlt0I |
Format | Ctrl+Shift+F | Reformat code | CtrlAlt0L |
Surround with | Ctrl+Alt+Z | Surround with | CtrlAlt0T |
- | - | Surround with live template | CtrlAlt0J |
Open declaration | F3 | Navigate to declaration | Ctrl0B |
- | - | Quick definition | CtrlShift0I |
Open type hierarchy | F4 | Navigate to type hierarchy | Ctrl0H |
- | - | Show UML popup | CtrlAlt0U |
References in workspace | Ctrl+Shift+G | Find usages | AltF7 |
- | - | Show usages | CtrlAltF7 |
- | - | Find usages settings | CtrlAltShiftF7 |
Open search dialog | Ctrl+H | Find in Files | CtrlShift0F |
Occurrences in file | Alt+Ctrl+U | Highlight usages in file | CtrlShiftF7 |
Copy lines | Ctrl+Alt+Down | Duplicate lines | Ctrl0D |
Extract local variable | Ctrl+Alt+L | Extract variable | CtrlAlt0V |
Assign to field | Ctrl+2/Ctrl+F | Extract field | CtrlAlt0F |
Show refactor quick menu | Ctrl+Alt+T | Refactor this | CtrlAltShift0T |
Rename | Ctrl+Alt+R | Rename | ShiftF6 |
Go to line | Ctrl+L | Navigate to line | Ctrl0G |
Structured selection | Alt+Shift+Up/Alt+Shift+Down | Select word at caret | Ctrl0W/CtrlShift0W |
Find next | Ctrl+J | Find next | F3 |
Show in | Ctrl+Alt+W | Select in | AltF1 |
Back | Ctrl+[ | Back | CtrlAlt0← |
Forward | Ctrl+] | Forward | CtrlAlt0→ |
For Eclipse users who prefer not to learn new shortcuts, IntelliJ IDEA provides the Eclipse keymap which closely mimics its shortcuts:
![Eclipse keymap Eclipse keymap](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_eclipse_keymap.png)
When you don't know the shortcut for some action, try using the Find action feature available via CtrlShift0A. Start typing to find an action by its name, see its shortcut, or call it:
![The Find Action dialog The Find Action dialog](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_find_action.png)
Both Eclipse and IntelliJ IDEA provide coding assistance features, such as code completion, code generation, quick-fixes, live templates, and so on.
To apply a quick-fix in IntelliJ IDEA, press AltEnter:
![Applying quick-fixes Applying quick-fixes](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_quick_fix.png)
All quick-fixes are based on inspections configured in Settings/Preferences | Editor | Inspections:
![the Inspections dialog the Inspections dialog](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_inspection_settings.png)
If you want to apply a quick-fix to several places at once (that is to a whole folder, module or even a project), you can do it by running the corresponding inspection via Code | Analyze Code | Run Inspection By Name... or by running the whole batch of inspections via Code | Running Code Cleanup with profile ''{0}'':
![Analysing code in IntelliJ IDEA Analysing code in IntelliJ IDEA](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_batch_inspections.png)
Apart from outright problems, IntelliJ IDEA also recognizes code constructs that can be improved or optimized via the so-called intentions (also available with AltEnter):
![Applying intention actions Applying intention actions](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_intention.png)
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Quick fix | Ctrl+1 | Show intention action | AltEnter |
The key action for generating code is Code | Generate, available via AltInsert:
![Generating code Generating code](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_generate_code.png)
This action is context-sensitive and is available not only within the editor, but also in the Project tool window and the Navigation bar:
![Creating a new object in the Project tool window Creating a new object in the Project tool window](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_cgenerate_code_project_tree.png)
IntelliJ IDEA provides different types of code completion, which include:
Basic completion
Second basic completion
Type-matching completion
Second type-matching completion
Statement completion
For more information about the differences between these completion types, refer to the Code Completion blog post.
By default, IntelliJ IDEA doesn't show the Documentation popup for the selected item, but you can enable it in Settings/Preferences | Editor | Code Completion | Show the documentation popup in:
![Code completion Code completion](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_code_completion_settings.png)
If you don't want to enable this option, you can manually invoke this popup by pressing Ctrl0Q when you need it:
![Showing the quick documentation popup Showing the quick documentation popup](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_code_completion_quick_doc.png)
When the caret is within the brackets of a method or a constructor, you can get the info about the parameters by calling Parameter Info with Ctrl0P:
![Showing parameter info Showing parameter info](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_parameter_info.png)
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Code completion | Ctrl+Space | Basic completion | CtrlSpace |
- | - | Type-matching completion | CtrlShiftSpace |
- | - | Statement completion | CtrlShiftEnter |
You may be used to typing main
in the editor and then calling code completion to have it transformed into a main method definition. However, IntelliJ IDEA templates are a little different:
Template | Eclipse | IntelliJ IDEA |
---|---|---|
Define a main method |
|
|
Iterate over an array |
|
|
Iterate over a collection |
|
|
Iterate over a list |
|
|
Iterate over an iterable using foreach syntax |
|
|
Print to System.out |
|
|
Print to System.err |
|
|
Define a static field |
|
|
The list of available templates can be found in Settings | Editor | Live Templates. There you can also add your own templates or modify any existing ones.
In addition to 'regular' templates, IntelliJ IDEA offers the so-called postfix templates. They are useful when you want to apply a template to an expression you've already typed. For instance, type a variable name, add .ifn
and press Tab. IntelliJ IDEA will turn your expression into a if (...==null){...}
statement.
To see a complete list of available postfix templates, go to Settings | Editor | General | Postfix Completion.
The surround with templates is another addition that works similarly to live templates but can be applied to the selected code with CtrlAlt0J.
To define your own surround with template, go to Settings | Editor | Live Templates and use $SELECTION$
within the template text:
$LOCK$.readLock().lock();
try {
$SELECTION$
} finally {
$LOCK$.readLock().unlock();
}
The following table maps the shortcuts for the most common refactorings in Eclipse with those in IntelliJ IDEA:
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Extract local variable | Ctrl+Alt+L | Extract variable | CtrlAlt0V |
Assign to field | Ctrl+2 | Extract field | CtrlAlt0F |
Show refactor quick menu | Alt+Shift+T | Refactor this | CtrlAltShift0T |
Rename | Ctrl+Alt+R | Rename | ShiftF6 |
For more information about many additional refactorings that IntelliJ IDEA offers, refer to Top 20 Refactoring Features in IntelliJ IDEA
Sometimes, refactorings may affect a lot of files in a project. IntelliJ IDEA not only takes care of applying changes safely, but also lets you revert them. To undo the last refactoring, switch the focus to the Project tool window and press Ctrl0Z.
Below is a map of the most common search actions and shortcuts:
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Open search dialog | Ctrl+H | Find in Files | CtrlShift0F |
References in workspace | Ctrl+Shift+G | Find usages | AltF7 |
- | - | Show usages | CtrlAltF7 |
- | - | Find usages settings | CtrlAltShiftF7 |
Occurrences in file | Alt+Ctrl+U | Highlight usages in file | CtrlF7 |
The table below roughly maps the navigation actions available in Eclipse with those in IntelliJ IDEA:
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Quick access | Ctrl+3 | Search everywhere | Double Shift |
Open type | Ctrl+Shift+T | Navigate to class | Ctrl0N |
Open resource | Ctrl+Shift+R | Navigate to file | CtrlShift0N |
- | - | Navigate to symbol | CtrlAltShift0N |
Quick switch editor | Ctrl+E | Switcher | CtrlTab |
- | - | Recent files | Ctrl0E |
Open declaration | F3 | Navigate to declaration | Ctrl0B |
Open type hierarchy | F4 | Navigate to type hierarchy | Ctrl0H |
- | - | Show UML popup | CtrlAlt0U |
Quick outline | Ctrl+O | File structure | CtrlF12 |
Back | Ctrl+[ | Back | CtrlAlt0← |
Forward | Ctrl+] | Forward | CtrlAlt0→ |
Later, when you get used to these navigation options and need more, refer to Top 5 Navigation Keyboard Shortcuts in IntelliJ IDEA Shortcuts.
Both IntelliJ IDEA and Eclipse provide features that allow you to examine the hierarchy and explore the structure of source files. For example, the Call Hierarchy feature shows you all the callers and callees of the selected method.
In Eclipse, you access it by pressing Ctrl+Alt+H. In IntelliJ IDEA, use the CtrlAlt0H shortcut.
![Call hierarchy in IntelliJ IDEA Call hierarchy in IntelliJ IDEA](https://resources.jetbrains.com/help/img/idea/2023.3/call-hierarchy-for-eclipse-guide.png)
Apart from call hierarchies, IntelliJ IDEA can also build method hierarchies (CtrlShift0H) and type hierarchies (Ctrl0H). You can find more information in Source code hierarchy.
IntelliJ IDEA code formatting rules (available via Settings | Editor | Code Style) are similar to those in Eclipse, with some minor differences. You may want to take note of the fact that the Use tab character option is disabled by default, the Indent size may be different, etc.
![Code formatting Code formatting](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_code_style_java.png)
If you would like to import your Eclipse formatter settings, go to Settings | Editor | Code Style | Java, click , click Import Scheme and select the exported Eclipse formatter settings (an XML file).
Note that there may be some discrepancies between the code style settings in IntelliJ IDEA and Eclipse. For example, you cannot tell IntelliJ IDEA to put space after (but not before). If you want IntelliJ IDEA to use the Eclipse formatter, consider installing the Eclipse code formatter plugin.
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Format | Ctrl+Shift+F | Reformat code | CtrlAlt0L |
Similarly to Eclipse, IntelliJ IDEA also has Run/debug configurations dialog that you can access either from the main toolbar, or the main menu. Compare the related shortcuts:
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Run | Ctrl+Shift+F11 | Run | ShiftF10 |
Debug | Ctrl+F11 | Debug | ShiftF9 |
- | - | Make | CtrlF9 |
- | - | Update application | CtrlF10 |
As mentioned before, by default IntelliJ IDEA doesn't compile changed files automatically (unless you configure it to do so). That means the IDE doesn't reload changes automatically. To reload changed classes, call the Build action explicitly via CtrlF9. If your application is running on a server, in addition to reloading you can use the Update application action via CtrlF10:
The debuggers in Eclipse and IntelliJ IDEA are similar but use different shortcuts:
Eclipse | IntelliJ IDEA | ||
---|---|---|---|
Action | Shortcut | Action | Shortcut |
Step into | F5 | Step into | F7 |
- | - | Smart step into | ShiftF7 |
Step over | F6 | Step over | F8 |
Step out | F7 | Step out | ShiftF8 |
Resume | F8 | Resume | F9 |
Toggle breakpoint | Ctrl+Shift+B | Toggle breakpoint | CtrlF8 |
Evaluate expression | Ctrl+Shift+I | Evaluate expression | AltF8 |
Deploying to application servers in IntelliJ IDEA is more or less similar to what you are probably used to in Eclipse.
Configure your artifacts via Project Structure | Artifacts (done automatically for Maven and Gradle projects).
Configure an application server via Settings | Application Servers.
Create a run configuration and then specify the artifacts to deploy and the server to deploy to.
For more information, refer to Application servers.
Build and rebuild your artifacts via Build | Build Artifacts.
IntelliJ IDEA doesn't provide visual forms for editing Maven and Gradle configuration files. Once you've imported or created your Maven or Gradle project, you can edit its pom.xml or build.gradle files directly in the editor. Later, you can synchronize the project model with the changed files on demand, or automatically import changes to the new build files. Any changes to the underlying build configuration will eventually need to be synced with the project model in IntelliJ IDEA.
For operations specific to Maven or Gradle, IntelliJ IDEA provides the Maven Project tool window and the Gradle tool window. Apart from your project structure, these tool windows provide a list of goals or tasks plus a toolbar with the relevant actions.
![Working with Maven Working with Maven](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_maven.png)
For manual synchronization, use the corresponding action on the Maven or Gradle tool window toolbar: .
Use the Maven or Gradle tool window to run any project goal or task. When you do, IntelliJ IDEA creates the corresponding run configuration, which you can reuse later to run the goal or task quickly.
It's worth mentioning that any goal or task can be attached to a run configuration. This may be useful when your goal or task generates specific files needed by the application.
![Running Maven goals Running Maven goals](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_run_before.png)
Both the Maven and Gradle tool windows provide the Run Task action. It runs a Maven or Gradle command similarly to how you'd run it using the console.
If you have a WAR artifacts configured in your pom.xml or build.gradle file, IntelliJ IDEA automatically configures the corresponding artifacts in Project Structure | Artifacts.
Note that when you compile your project or build an artifact, IntelliJ IDEA uses its own build process which may be faster but is not guaranteed to be 100% accurate. If you notice inconsistent results when compiling your project with Build in IntelliJ IDEA, try using a Maven goal or a Gradle task instead.
IntelliJ IDEA supports Git, Mercurial, Subversion, Perforce and other version control systems (VCS).
When you open a project located under a VCS root, IntelliJ IDEA automatically detects this root and suggests adding it to the project settings.
To change version control-related project settings (or manually add a VCS root), go to Settings | Version Control.
IntelliJ IDEA works perfectly with multi-repository projects. Just map your project directories to VCS, and the IDE will take care of the rest. For Git and Mercurial, the IDE will even offer you synchronized branch control, so that you can perform branch operations on multiple repositories simultaneously. For more information, refer to Manage Git branches.
Every VCS may require specific settings, for example, Path to Git executable, GitHub/Perforce credentials, and so on:
![Editing VCS settings Editing VCS settings](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_git_settings.png)
Once you've configured the VCS settings, you'll see the Version Control tool window Alt09.
To check out a project from a VCS, click Get from Version Control on the Welcome Screen, or in the main VCS menu.
The Changes view shows your local changes: both staged and unstaged. To simplify managing changes, all changes are organized into changelists. Any changes made to source files are automatically included in the active changelist. You can create new changelists, delete the existing ones (except for the Changes one), and move files between changelists.
![Committing new changes to VCS Committing new changes to VCS](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_commit.png)
Right-click the unversioned file or folder you want to ignore in the Local Changes tab of the Version Control tool window Alt09 or in Project tool window and select Git | Add to .gitignore or Git | Add to .git/info/exclude.
If you want ignored files to be also displayed in the Local Changes view, click on the toolbar and select Ignored Files.
![Showing ignored files Showing ignored files](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_ignored_files.png)
The Log tab of the Git tool window lets you see and search through the history of commits. You can sort and filter commits by the repository, branch, user, date, folder, or even a phrase in the description. You can find a particular commit, or just browse through the history and the branch tree:
![The Log tab of the Git tool window The Log tab of the Git tool window](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_log.png)
IntelliJ IDEA lets you create, switch, merge, compare and delete branches. For these operations, either use Branches from the main or context VCS menu, or the VCS operations popup (you can invoke it by pressing Alt0`, or the widget on the right of the status bar:
![Working with branches Working with branches](https://resources.jetbrains.com/help/img/idea/2023.3/migration_guide_vcs_popup.png)
All VCS operations are available from the VCS main menu:
Action | Shortcut |
---|---|
Version Control tool window | Alt09 |
VCS operations popup | Alt0` |
Commit changes | Ctrl0K |
Update project | Ctrl0T |
Push commits | CtrlShift0K |
Thanks for your feedback!