Mahmoud Farahat is right you have to install Visual Studio on the same machine that has SharePoint installed on it also to ensure all the SharePoint specific dlls are registered in the GAC.
From SP2013 Microsoft no longer allow installing SP on anything other than Windows 2012 and 2008R2. 2010 did let you install it on Windows 7 which I imagine is what your development locals are running as or at least some version of Windows desktop OS. You had to change a config setting to be able to do this, you can look this up but isn't relevant anymore as it can't be done. I've installed SP2010 on my local laptop and it takes a powerful machine and makes it run dreadfully for everything. Using the local machine for development in my opinion is just not practical as SharePoint is just so power hungry. I have had 2010 running as locally hosted VMs on Virtual Box and this work reasonably well so is a possibility for each developer to have a Virtual Machine locally. Our IT didn't like the idea of hosting servers on the corporate domain anywhere other than centrally, so wasn't an option for us, but if allowed in your policies then would work fine.
So our 2013 development environment which I setup is hosted on a powerful single server farm, i.e. App, Web & DB all on one virtual server (acceptable for dev). We are running multiple developer connections to a single SharePoint development server via Remote Desktop. Ensure you have multiple RDP sessions enabled in group policy, http://technet.microsoft.com/en-us/library/cc784146(v=ws.10).aspx. This server has SP2013, VS2012 and SPD installed on it oh and IIS8 (Windows 2012).
It's possible to both develop on the same Web Application (SharePoint speak for ISS application pools) but you can only debug one session at a time because devenv.exe (Visual Studio) attaches to the w3ps.exe (IIS application pool) to be able to deploy, install and activate each of your developed features (more SP talk). So once one developer has attached to the Web Application to debug anyone else will get an error that the process already had a debugger attached.
There are two solutions, take turns at debugging, this works but in even a small team of two (can't get any smaller) this is a big handicap and especially when launching the debugger can take a couple of minutes even on a powerful server. So what is the other option? Well you have to create a process for each developer to connect to individually. This relates to Web Applications in SharePoint. You can achieve all of this through Central Administration but if you have a number of developers doing this in the GUI can be a bit boring for an Administrator. So to achieve the same result via a script execute the following code in PowerShell:
Add-PsSnapin Microsoft.SharePoint.PowerShell
New-SPWebApplication -ApplicationPool "SharePoint – DEV1" -Name "SharePoint – DEV1" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 81
New-SPWebApplication -ApplicationPool "SharePoint – DEV2" -Name "SharePoint – DEV2" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 82
New-SPSite -Url http://yourspservername:81/sites/YourSiteName -Name YourProjectNameDev -Description "Developer1’s Development team site for Your Project" -OwnerAlias yourdomain\developer1.username -Template "STS#0"
New-SPSite -Url http:// yourspservername:82/sites/ YourSiteName -Name YourProjectNameDev -Description "Developer2’s Development team site for Your Project" -OwnerAlias yourdomain\developer2.username -Template "STS#0"
Remove-PsSnapin Microsoft.SharePoint.PowerShell
This assumes your using NTLM authentication and have a read through of http://technet.microsoft.com/en-us/library/ff607931.aspx to ensure you have the correct parameters specified for your environment for the command New-SPWebApplication. The code as is will also create a Content database with a guid suffix which you may not be as clear so specify if you want.
This creates a SiteCollection for each developer and a site based on Team Site template for each developer. Copy each line individual line for more developers.
We have kept the default created Web Collection on port 80 for the collaborative site where we deploy all our Features onto for a final combination testing.
Each developer needs to edit their Project properties in Visual Studio to have their Site URL properties match their individually assigned Port.
Be careful when combining the projects in your Source control as this property will be specified in the csproj file and each developer will post their own port number into the repository.