46 lines
1.6 KiB
PowerShell
46 lines
1.6 KiB
PowerShell
param($installPath, $toolsPath, $package, $project)
|
|
|
|
# VS 11 and above supports the new intellisense JS files
|
|
$supportsJsIntelliSenseFile = [System.Version]::Parse($dte.Version).Major -ge 11
|
|
|
|
if (-not $supportsJsIntelliSenseFile) {
|
|
Write-Host "IntelliSense JS files are not supported by your version of VS: " + $dte.Version
|
|
exit
|
|
}
|
|
|
|
# Extract the version number from the jquery file in the package's content\scripts folder
|
|
$packageScriptsFolder = Join-Path $installPath Content\Scripts
|
|
$jqueryFileName = Join-Path $packageScriptsFolder "jquery-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js" | Split-Path -Leaf
|
|
$jqueryFileName -match "jquery-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js"
|
|
$ver = $matches[1]
|
|
|
|
# Determine the project scripts folder path
|
|
$projectFolderPath = $project.Properties.Item("FullPath").Value
|
|
$projectScriptsFolderPath = Join-Path $projectFolderPath Scripts
|
|
|
|
# Get the project item for the scripts folder
|
|
try {
|
|
$scriptsFolderProjectItem = $project.ProjectItems.Item("Scripts")
|
|
}
|
|
catch {
|
|
exit
|
|
}
|
|
|
|
# Delete the vsdoc file from the project
|
|
try {
|
|
$vsDocProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("jquery-$ver-vsdoc.js")
|
|
$vsDocProjectItem.Delete()
|
|
}
|
|
catch {
|
|
exit
|
|
}
|
|
|
|
# Copy the intellisense file to the project from the tools folder
|
|
$intelliSenseFileName = "jquery-$ver.intellisense.js"
|
|
$intelliSenseFileSourcePath = Join-Path $toolsPath $intelliSenseFileName
|
|
try {
|
|
$scriptsFolderProjectItem.ProjectItems.AddFromFileCopy($intelliSenseFileSourcePath)
|
|
}
|
|
catch {
|
|
# This will throw if the file already exists, so we need to catch here
|
|
} |