Expanding our support for Java IDEs and following in the footsteps of our Eclipse plugin, today we are announcing a preview of the Team Foundation Plugin for IntelliJ IDEA that works with IntelliJ IDEA and Android Studio.
What is "Team Foundation?"
Team Foundation describes Team Foundation Server (TFS) and Visual Studio Online (VSO). These provide on-premises and cloud collaboration services for version control, agile planning, software build & continuous delivery, and application analytics – for Eclipse, IntelliJ, Visual Studio, Xcode or any other IDE or code editor. VSO offers unlimited private Git repositories. It is free for teams of 5 or less and its tiered pricing is affordable for larger teams.
Purpose of the Plugin
We built the plugin to simplify and optimize developer interaction with TFS and VSO Git repositories from IntelliJ. Based on our own Java team development and customer feedback, we saw greater focus and productivity when developer attention was kept within the IDE instead of changing context between tools. VSO’s primary user interface is browser-based, but we chose to expose popular VSO capabilities in IntelliJ to decrease the steps and disruption of context-switching to a browser. For instance, compare the number of potential steps required to create a Git pull request with and without the plugin:
Capabilities
To balance useful features with time-to-deliver, the first version of the plugin:
Simplifies multi-factor authentication to TFS and VSO
Makes it easy to clone and share code by browsing team projects and repositories
Streamlines creating pull requests from the IDE for code reviews and policy-based merging
These capabilities are detailed below.
Installing the Plugin
The plugin is in preview with an anticipated release in early 2016. You can install it from the IntelliJ Plugin Repository by searching for “Visual Studio Team Foundation” as described on the Visual Studio Online – Java site. We have also open-sourced the code on GitHub.
Authenticate
The first time you interact with TFS or VSO from IntelliJ, authentication is required. The following methods of sign-in are permitted, with support for default Windows credentials coming soon.
Kerberos
HTTP basic authentication
Windows NTLM (Active Directory)
Multi-factor, federated authentication using Azure Active Directory (username/password, phone call, text message, mobile app verification code, smart card, etc.)
Cloning a VSO repo in IntelliJ is very simple. You don't even need to know the repo's URL. Simply open IntelliJ IDEA, select Check out from Version Control, and choose Team Foundation Git:
If you have not already done so, click Sign In... to sign in to VSO:
Once signed in, you will see a list of all repositories that you have access to on VSO. Simply choose the repo you want to clone and specify a local directory name. Finally, click the Clone button.
If you have an existing IntelliJ project that you want to upload to a new repository on VSO, from IntelliJ's VCS menu, select Import into Version Control → Import into Team Foundation Git:
If you have not already done so, click Sign In... to sign in to VSO:
Once signed in, you will see a list of all team projects that you have access to on VSO. Simply choose the team project into which you want to import the IntelliJ project and name the new VSO repository. Finally, click the Import button.
Link to Artifacts on VSO
While working with an IntelliJ project that has been cloned from or imported to VSO, you can link from the context menu of files and branches to corresponding artifacts on VSO. This is useful for seeing history, diffs, associated bugs and stories, and other information not yet visible in IntelliJ.
Create a Pull Request
You can push your local Git branch to VSO and create a pull request for your team to review. The pull request is created based on the current state of your Git topic branch within IntelliJ. This saves several steps and eliminates the need to switch to a browser to create the pull request.
To create a pull request, from IntelliJ's VCS menu select Git → Create Pull Request. The "Create Pull Request" dialog will appear. This dialog provides information about which file changes and commits (if any) will be pushed to VSO when the pull request is created.
Provide a title and description and select the Create Pull Request button. You will see a notification that the pull request was created. The notification contains a link to the pull request on VSO, in case you want to add specific reviewers or comments or check compliance with configured merge policies.
Provide Feedback and Contribute
Your ideas for features and improvements are welcome! We want the plugin to be very useful for the Java community. You can use the Feedback button on any of the plugin's dialogs to send us your thoughts. Please also consider contributing to the plugin's code on GitHub.