A browser-based code viewer designed to be a team developer tool has been released in an early access program by JetBrains.
Upsource lets developers browse source code in repositories, share and discuss code, search symbols or text, and find usages. The intellisense features only work with Java at the moment, but you can browse project files in any language. Support for more languages is coming in the near future.
The early access program, which is free to use, is scheduled to be in place for a few months, with a 1.0 general release by the end of the year. This is planned to have an IntelliJ IDEA code review plug-in and integration with JetBrains TeamCity.
Talking about the early access program on the JetBrains blog, Hadi Hariri explained that JetBrains has been working to modularize the company's IntelliJ platform, commenting:
“As it stands now, IntelliJ IDEA provides a very extensible and rich platform. In fact, all of our different IDEs, as well as Google’s Android Studio are built on the IntelliJ platform and most of the functionality each flavor provides is nothing more than a series of plugins.”
Upsource is a further development of this, acting as a server-based platform that gives you “all your code, every single commit, at your fingertips”. You can use Upsource to access any project in a VCS repository from a central location, and it supports repositories based on Git, Mercurial, Subversion and Perforce.
It lets you keep track of code changes, visualize commits, branches and merges, explore your project as of a particular revision, or search the project history to learn who did what and when.
If you want to look at specific code changes, you can navigate to them, and look at the differences inline or side-by-side. If it’s a Java project, you can carry out automatic code inspections right in the side-by-side diff view, as if you were working in IntelliJ IDEA.
The tool is designed for team use, and lets you discuss code and changes with other team members. Where discussions and reviews have taken place in earlier revisions, you can view them from later versions. You can also use URLs to link to everything in code, including code reviews, diffs, discussions, reports, search filters, files, or even selections in code.
See these features in use in this video from Hadi Hariri:
Upsource also makes use of JetBrains’ IntelliJ IDEA Code Analysis engine, so you see warnings if your source code has problems that would trigger the ‘issues’ warning in an IntelliJ IDE or ReSharper. This currently only works with Java code, but there are plans to add support for other languages in the near future. The blog says that much of the groundwork to do this, which was separating the required parts from the IntelliJ platform, has been done.