From f09150617ed2454f3074bcf93f53aae5ae637d40 Mon Sep 17 00:00:00 2001 From: Nate Sesti <33237525+sestinj@users.noreply.github.com> Date: Mon, 9 Oct 2023 18:37:27 -0700 Subject: Preview (#541) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Strong typing (#533) * refactor: :recycle: get rid of continuedev.src.continuedev structure * refactor: :recycle: switching back to server folder * feat: :sparkles: make config.py imports shorter * feat: :bookmark: publish as pre-release vscode extension * refactor: :recycle: refactor and add more completion params to ui * build: :building_construction: download from preview S3 * fix: :bug: fix paths * fix: :green_heart: package:pre-release * ci: :green_heart: more time for tests * fix: :green_heart: fix build scripts * fix: :bug: fix import in run.py * fix: :bookmark: update version to try again * ci: 💚 Update package.json version [skip ci] * refactor: :fire: don't check for old extensions version * fix: :bug: small bug fixes * fix: :bug: fix config.py import paths * ci: 💚 Update package.json version [skip ci] * ci: :green_heart: platform-specific builds test #1 * feat: :green_heart: ship with binary * fix: :green_heart: fix copy statement to include.exe for windows * fix: :green_heart: cd extension before packaging * chore: :loud_sound: count tokens generated * fix: :green_heart: remove npm_config_arch * fix: :green_heart: publish as pre-release! * chore: :bookmark: update version * perf: :green_heart: hardcode distro paths * fix: :bug: fix yaml syntax error * chore: :bookmark: update version * fix: :green_heart: update permissions and version * feat: :bug: kill old server if needed * feat: :lipstick: update marketplace icon for pre-release * ci: 💚 Update package.json version [skip ci] * feat: :sparkles: auto-reload for config.py * feat: :wrench: update default config.py imports * feat: :sparkles: codelens in config.py * feat: :sparkles: select model param count from UI * ci: 💚 Update package.json version [skip ci] * feat: :sparkles: more model options, ollama error handling * perf: :zap: don't show server loading immediately * fix: :bug: fixing small UI details * ci: 💚 Update package.json version [skip ci] * feat: :rocket: headers param on LLM class * fix: :bug: fix headers for openai.;y * feat: :sparkles: highlight code on cmd+shift+L * ci: 💚 Update package.json version [skip ci] * feat: :lipstick: sticky top bar in gui.tsx * fix: :loud_sound: websocket logging and horizontal scrollbar * ci: 💚 Update package.json version [skip ci] * feat: :sparkles: allow AzureOpenAI Service through GGML * ci: 💚 Update package.json version [skip ci] * fix: :bug: fix automigration * ci: 💚 Update package.json version [skip ci] * ci: :green_heart: upload binaries in ci, download apple silicon * chore: :fire: remove notes * fix: :green_heart: use curl to download binary * fix: :green_heart: set permissions on apple silicon binary * fix: :green_heart: testing * fix: :green_heart: cleanup file * fix: :green_heart: fix preview.yaml * fix: :green_heart: only upload once per binary * fix: :green_heart: install rosetta * ci: :green_heart: download binary after tests * ci: 💚 Update package.json version [skip ci] * ci: :green_heart: prepare ci for merge to main --------- Co-authored-by: GitHub Action --- extension/src/activation/activate.ts | 62 ++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 28 deletions(-) (limited to 'extension/src/activation/activate.ts') diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts index 9fcaf685..edd13137 100644 --- a/extension/src/activation/activate.ts +++ b/extension/src/activation/activate.ts @@ -22,6 +22,39 @@ function getExtensionVersionInt(versionString: string): number { return parseInt(versionString.replace(/\./g, "")); } +function addPythonPathForConfig() { + // Add to python.analysis.extraPaths global setting so config.py gets LSP + + if ( + vscode.workspace.workspaceFolders?.some((folder) => + folder.uri.fsPath.endsWith("continue") + ) + ) { + // Not for the Continue repo + return; + } + + const pythonConfig = vscode.workspace.getConfiguration("python"); + const analysisPaths = pythonConfig.get("analysis.extraPaths"); + const autoCompletePaths = pythonConfig.get( + "autoComplete.extraPaths" + ); + const pathToAdd = extensionContext?.extensionPath; + if (analysisPaths && pathToAdd && !analysisPaths.includes(pathToAdd)) { + analysisPaths.push(pathToAdd); + pythonConfig.update("analysis.extraPaths", analysisPaths); + } + + if ( + autoCompletePaths && + pathToAdd && + !autoCompletePaths.includes(pathToAdd) + ) { + autoCompletePaths.push(pathToAdd); + pythonConfig.update("autoComplete.extraPaths", autoCompletePaths); + } +} + export async function activateExtension(context: vscode.ExtensionContext) { extensionContext = context; console.log("Using Continue version: ", getExtensionVersion()); @@ -33,39 +66,12 @@ export async function activateExtension(context: vscode.ExtensionContext) { } catch (e) { console.log("Error getting workspace folder: ", e); } - // Before anything else, check whether this is an out-of-date version of the extension - // Do so by grabbing the package.json off of the GitHub repository for now. - fetch(PACKAGE_JSON_RAW_GITHUB_URL) - .then(async (res) => res.json()) - .then((packageJson) => { - const n1 = getExtensionVersionInt(packageJson.version); - const n2 = getExtensionVersionInt(getExtensionVersion()); - if (Math.abs(n1 - n2) > 1) { - // Accept up to 1 version difference - vscode.window.showInformationMessage( - `You are using an out-of-date version of the Continue extension. Please update to the latest version.` - ); - } - }) - .catch((e) => console.log("Error checking for extension updates: ", e)); - - // Add to python.analysis.extraPaths global setting - // const pythonConfig = vscode.workspace.getConfiguration("python"); - // const extraPaths = pythonConfig.get("analysis.extraPaths"); - // const pathToAdd = path.join(os.homedir(), ".continue", "server"); - // if (extraPaths) { - // if (!extraPaths.includes(pathToAdd)) { - // extraPaths.push(pathToAdd); - // pythonConfig.update("analysis.extraPaths", extraPaths); - // } - // } else { - // pythonConfig.update("analysis.extraPaths", [pathToAdd]); - // } // Register commands and providers registerAllCodeLensProviders(context); registerAllCommands(context); registerQuickFixProvider(); + addPythonPathForConfig(); // Start the server const sessionIdPromise = (async () => { -- cgit v1.2.3-70-g09d2