Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Commit

Permalink
README updates for v1.116.0 (#171)
Browse files Browse the repository at this point in the history
* README updates for v1.116.0

* Add collection parameter to FAQ
  • Loading branch information
Jeff Young authored Apr 12, 2017
1 parent a11da4d commit 23f3726
Show file tree
Hide file tree
Showing 9 changed files with 292 additions and 98 deletions.
184 changes: 90 additions & 94 deletions README.md

Large diffs are not rendered by default.

198 changes: 198 additions & 0 deletions TFVC_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
# Team Foundation Version Control (TFVC) Support

This extension provides TFVC support by way of the Source Control Viewlet in Visual Studio Code.

Here are the currently supported features provided by the extension:
- Execute all basic version control actions such as add, delete, rename, move, etc.
- View local changes and history for your files
- Include and Exclude changes (and move files between the two states)
- Merge conflicts from updates
- Check-in and update local files
- Associate work items to check-ins
- Integrated TFVC Output window
- Support for a TFS proxy
- Support for workspaces created with either the Visual Studio IDE, the JetBrains IDEs and Eclipse

![Team Foundation Version Control Viewlet](assets/tfvc-viewlet.png)

## Getting Started Videos
Below are a few videos to help get you started using TFVC quickly.
- [TFVC Source Code Control for Visual Studio Code](https://youtu.be/6IzJ2UPGmoQ) - This video shows you how to set up
the TFVC support on Windows and demonstrates much of the functionality available for Team Foundation Version Control. The
features shown in this video apply equally well to the TFVC support on macOS and Linux.
- [Set up and Configure the TEE CLC on Linux (and macOS)](https://youtu.be/VPNaEIVZfr0) - This video demonstrates how to set
up the Team Explorer Everywhere Command Line Client (TEE CLC) on Ubuntu. On macOS and Linux, the CLC provides the TFVC capability
to the extension.
- [Set up the Team Services extension for Visual Studio Code](https://youtu.be/t6gGfj8WOgg) - If you haven't used the extension
before, this video will show you how to set it up, create a personal access token and get up and running.
- [Walkthrough of the Team Services extension for Visual Studio Code](https://youtu.be/sk6LrzQX4P8) - This is a walkthrough of
most of the features of the Team Services extension.

## Prerequisites
### Visual Studio Team Services
If you are planning on using the extension with Visual Studio Team Services, ensure you have a Team Services account. If you do
not have an account, find out how to [sign up for Team Services](https://www.visualstudio.com/en-us/get-started/setup/sign-up-for-visual-studio-team-services).

### Team Foundation Server
If you are planning on using the extension with Team Foundation Server, you **must** be running Team Foundation
Server 2015 Update 2 or later. Earlier versions of Team Foundation Server are not supported.

## Installation
First, you will need to install [Visual Studio Code](https://code.visualstudio.com/download) `1.11.1` or later.

### The Visual Studio Code Extension
To install the extension with the latest version of Visual Studio Code (version 1.11.1 is the latest as of this writing), bring
up the Visual Studio Code Command Palette (`F1`), type `install` and choose `Extensions: Install Extensions`. In the `Search Extensions in Marketplace`
text box, type `team`. Find the `Visual Studio Team Services` extension published by *Microsoft* and click the `Install` button.
Restart Visual Studio Code.

### TFVC Command Line Client
In order to provide TFVC support in Visual Studio Code, the extension relies on the use of a TF command line client. Therefore,
you will need to have one already installed and configured. TFVC support will not work without an available command line client.

#### Visual Studio IDE (Windows)
With a typical installation of Visual Studio, the Windows version of the TFVC command line client (tf.exe) is available under
the `Program Files (x86)` folder. It will typically be placed in a location similar to
`C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe`. On the 2017 version of Visual Studio, it can be found in a location similar to `C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TF.exe`.

#### Eclipse, JetBrains IDEs (Windows, macOS, Linux)
If you typically use Eclipse or one of the JetBrains IDEs (e.g., Android Studio, IntelliJ), you will need to download and
extract a version of the Team Explorer Everywhere Command Line Client (TEE CLC). As of this update, the latest version can
be downloaded from [TEE-CLC-14.114.0.zip](https://github.com/Microsoft/team-explorer-everywhere/releases/download/v14.114.0/TEE-CLC-14.114.0.zip).
After downloading, extract it to a folder and open a Terminal window.

From that Terminal window, ensure that at least Java 8 is installed and available (run `java -version` to check
the version). Once Java is configured properly, you will need to accept the TEE End User License Agreement by
running `tf eula`. Make sure to read the EULA and accept it by entering `y`. The extension will not function properly
until this EULA is accepted.

If you are using the TEE CLC, see how to set it up by viewing [this video](https://youtu.be/VPNaEIVZfr0).

## Authentication
### Visual Studio Team Services
If you are connecting to Team Services, you will need a personal access token (PAT) to securely access your account.
The latest version of the extension will prompt for your token and store it securely. In previous versions of the
extension, you needed to create a token and store it in your Visual Studio Code settings.

If you do not have a personal access token yet, you will need to create one on your Team Services account.
To create the token, go [here](https://aka.ms/gtgzt4) to read how. You can also [view our video](https://youtu.be/t6gGfj8WOgg)
on how to do the same.
* TFVC repositories require tokens with *All Scopes*. Anything less will cause the extension to fail.

### Team Foundation Server

This comment has been minimized.

If you are connecting to Team Foundation Server, you will only need your NTLM credentials (domain name, account name
and password). It is assumed that you have the proper permissions on the TFS Server.

## Configure TFVC Support
To configure TFVC support, you must provide the location to the TF command line client used by the extension to perform
TFVC actions. To set this location, add the following entry to Settings (**File > Preferences > Settings**):
```javascript
"tfvc.location": "<path-to-tf-command-line>"
```
If you plan to use the TFVC command line provided by the Visual Studio IDE, the value to provide will be similar to `C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\TF.exe`.

If you plan to use the TEE CLC, the value to provide will be similar to `/home/username/TEE-CLC-14.114.0/tf`. On Windows,
the entry should point to `tf.cmd`. On macOS and Linux, it should point to the script `tf`. If you are using the TEE CLC,
see how to do this by viewing [this video](https://youtu.be/VPNaEIVZfr0).

## Team Foundation Version Control
To get an overview of the TFVC support provided by the extension, view [this video](https://youtu.be/6IzJ2UPGmoQ). Although
it demonstrates the extension running on Windows, the TFVC functionality will work the same on macOS and Linux. Further
information is detailed below.

### Open a local TFVC Repository folder
Once you have installed the extension, open either the root folder or a sub-folder of the TFVC repository. Once a Team
Services or Team Foundation Server 2015 Update 2 (or later) repository is detected by the extension, you will need to provide
your credentials (if credentials weren't already found). If you are required to provide your credentials, there will be an
indicator in the status bar whose message will indicate that you need to sign in.

The indicator looks like this:

![Team Error indicator](assets/team-error.png)

To sign in to your account, run the `team signin` command or simply click on that indicator. If your repository
is a Team Services repository, you will be prompted to enter your personal access token. When you do, it will be
stored securely on your computer and used to connect to Team Services. If your repository is on Team Foundation
Server 2015 Update 2 or later, you will be prompted to enter your username and password. After both are provided, they will
be stored securely on your computer and used to connect to your TFS server.

Once your credentials are verified, the status bar indicators will be active and the remaining commands will
be ready to use. The stored credentials will be used for each connection to the server until they are either
removed by the `team signout` command or overwritten by a subsequent `team signin` command.

**Note:** In order for the extension to be activated, a repository *folder* must be opened. The extension
won't be activated if only a single *file* in the repository is opened.

### The TFVC Source Control Viewlet
![Team Foundation Version Control Viewlet](assets/tfvc-viewlet.png)

This is the Team Foundation Version Control Viewlet. It displays lists of any conflicting changes (to be resolved before
the next check-in), included changes (changes to be included in the next check-in), excluded changes (changes to keep but
excluded from check-in). The viewlet also provides right-click context menus to allow additional functionality like Undo,
Include and Exclude.

#### Check In and Refresh
![TFVC Check In Refresh](assets/tfvc-checkin-refresh.png)
* `Check In` – This `check mark` button is used to check in your changes. You will not be prompted for a comment so make sure you provide
one before clicking.
* `Refresh` – This `circular arrow` button runs the TFVC `Status` command and processes the results.

#### The '...' Menu
This menu provides access to additional commands provided by the TFVC source provider.

![TFVC ... Menu](assets/tfvc-more-menu.png)

* `Sync` – This option runs the `Get` command and handles any conflicts or errors.
* `Associate Work Items` – In order to associate work items to your check-in, select this option. The list of work items
assigned to you (or returned from your custom query) will be displayed for you to choose. Choosing one adds it to your check-in comment.
* `Check In` – Use this option to check in your changes.
* `Undo All` - If there are file modifications, this command will prompt for confirmation and then undo all of the changes.
* `Show TFVC Output` – Use this option to display the `TFVC Output` window which shows the TFVC commands run during this session.
* `Switch SCM Provider... >` – This option is provided by VS Code and allows you to change between the available source control
providers (e.g, Git, TFVC, etc.).

#### Resolving Conflicts
When conflicts need to be resolved, you can use these commands to do so. There are inline icons which also provide this functionality.

![TFVC Resolve Conflicts](assets/tfvc-resolve-conflicts.png)

* `Open Diff` – Opens the diff view between the modified file and the versioned file.
* `Open File` – Opens the modified file in the editor.
* `Resolve: Take Theirs` – Resolves the conflict as `Take Theirs`.
* `Resolve: Keep Yours` – Resolves the conflict as `Keep Yours`.
* `Undo` – Reverts the changes made to the file.

***Note:*** Resolving conflicts between branches is not supported in the extension. At this time, these conflicts are best addressed
in an IDE or at the command line.

### File Explorer
Access to renaming a file is provided on Visual Studio Code's File Explorer menu.

![TFVC Rename](assets/tfvc-rename.png)

* `Rename (TFVC)` – To properly rename a file in TFVC using the `Rename` command (instead of `Delete` and `Add`), use this option on
Visual Studio Code's File Explorer. You will prompted for a new file name.

## Additional Information
### Specifying a TFS Proxy
To configure a TFS proxy server, you must provide the URL to that server in the Visual Studio Code Settings (**File > Preferences > Settings**):
```javascript
"tfvc.proxy": "http://servername:9999/proxy"
```

## Frequently Asked Questions
### *Is it required that I have a TFVC workspace already on my local machine to use the TFVC support?*
With release 1.116.0, yes, it is a requirement that you have an existing workspace on your local machine.

### *Can I use the Team Explorer Everywhere Command Line Client (TEE CLC) to provide the TFVC functionality on Windows?*
Yes. If you use Eclipse or one of JetBrain's IDEs (e.g, Android Studio, IntelliJ) on Windows, then you will want to use the TEE CLC to provide
the TFVC support.

### *Which instructions do I follow to set up TFVC functionality on the macOS?*
You will follow the same instructions for setting up the TEE CLC as is shown on Ubuntu in [this video](https://youtu.be/VPNaEIVZfr0).

### *I have workspaces created with Visual Studio. Can I use the TEE CLC to work with them?*
This should be possible. However, you will need to make the TEE CLC aware of those workspaces by running the `tf workspaces -collection:<collection-url>` command.

## Further Information
For information on other features of the extension, support, licensing, privacy, or contributing code, please review the main [README](README.md) file.
Binary file added assets/tfvc-checkin-refresh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/tfvc-more-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/tfvc-rename.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/tfvc-resolve-conflicts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/tfvc-viewlet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/vscode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"keywords": [
"Team Foundation Server",
"Team Services",
"Visual Studio Online",
"Visual Studio Team Services",
"VSTS"
"VSTS",
"TFVC"
],
"categories": [
"Other"
Expand Down Expand Up @@ -300,7 +300,7 @@
},
{
"command": "team.OpenBuildSummaryPage",
"title": "View Build summary",
"title": "View Build Summary",
"category": "Team"
},
{
Expand Down Expand Up @@ -335,7 +335,7 @@
},
{
"command": "tfvc.Checkin",
"title": "Checkin",
"title": "Check In",
"category": "TFVC",
"icon": {
"light": "resources/icons/light/check.svg",
Expand Down

0 comments on commit 23f3726

Please sign in to comment.