summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-15 17:57:51 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-15 17:57:51 -0700
commit14654a3db55dd73b0a099d4acbca6494c612d3d3 (patch)
tree1307d8315e618c7fbcd23d1a0ddaee9236801de6
parent98a0911d3bf071f119e25889796ecc1bd80032df (diff)
downloadsncontinue-14654a3db55dd73b0a099d4acbca6494c612d3d3.tar.gz
sncontinue-14654a3db55dd73b0a099d4acbca6494c612d3d3.tar.bz2
sncontinue-14654a3db55dd73b0a099d4acbca6494c612d3d3.zip
patch
-rw-r--r--extension/package-lock.json4
-rw-r--r--extension/package.json2
-rw-r--r--extension/src/activation/environmentSetup.ts92
3 files changed, 54 insertions, 44 deletions
diff --git a/extension/package-lock.json b/extension/package-lock.json
index edd0f0d0..f793abae 100644
--- a/extension/package-lock.json
+++ b/extension/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "continue",
- "version": "0.0.169",
+ "version": "0.0.171",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "continue",
- "version": "0.0.169",
+ "version": "0.0.171",
"license": "Apache-2.0",
"dependencies": {
"@electron/rebuild": "^3.2.10",
diff --git a/extension/package.json b/extension/package.json
index 91a863ff..38dc4542 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -14,7 +14,7 @@
"displayName": "Continue",
"pricing": "Free",
"description": "The open-source coding autopilot",
- "version": "0.0.169",
+ "version": "0.0.171",
"publisher": "Continue",
"engines": {
"vscode": "^1.67.0"
diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts
index b4ada632..be1c220c 100644
--- a/extension/src/activation/environmentSetup.ts
+++ b/extension/src/activation/environmentSetup.ts
@@ -21,11 +21,16 @@ async function retryThenFail(
): Promise<any> {
try {
if (retries < MAX_RETRIES && process.platform === "win32") {
- const [stdout, stderr] = await runCommand(
- "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser"
- );
- console.log("Execution policy stdout: ", stdout);
- console.log("Execution policy stderr: ", stderr);
+ let [stdout, stderr] = await runCommand("Get-ExecutionPolicy");
+ if (!stdout.includes("RemoteSigned")) {
+ [stdout, stderr] = await runCommand(
+ "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser"
+ );
+ console.log("Execution policy stdout: ", stdout);
+ console.log("Execution policy stderr: ", stderr);
+ // Then reload the window for this to take effect
+ await vscode.commands.executeCommand("workbench.action.reloadWindow");
+ }
}
return await fn();
@@ -238,45 +243,50 @@ async function setupPythonEnv() {
pipCmd
);
- // First, create the virtual environment
- if (checkEnvExists()) {
- console.log("Python env already exists, skipping...");
- } else {
- // Assemble the command to create the env
- const createEnvCommand = [
- `cd "${serverPath()}"`,
- `${pythonCmd} -m venv env`,
- ].join(" ; ");
-
- const [stdout, stderr] = await runCommand(createEnvCommand);
- if (
- stderr &&
- stderr.includes("running scripts is disabled on this system")
- ) {
- await vscode.window.showErrorMessage(WINDOWS_REMOTE_SIGNED_SCRIPTS_ERROR);
- throw new Error(stderr);
- } else if (
- stderr?.includes("On Debian/Ubuntu systems") ||
- stdout?.includes("On Debian/Ubuntu systems")
- ) {
- const msg = await getLinuxAptInstallError(pythonCmd);
- console.log(msg);
- await vscode.window.showErrorMessage(msg);
- } else if (checkEnvExists()) {
- console.log("Successfully set up python env at ", `${serverPath()}/env`);
+ await retryThenFail(async () => {
+ // First, create the virtual environment
+ if (checkEnvExists()) {
+ console.log("Python env already exists, skipping...");
} else {
- const msg = [
- "Python environment not successfully created. Trying again. Here was the stdout + stderr: ",
- `stdout: ${stdout}`,
- `stderr: ${stderr}`,
- ].join("\n\n");
- console.log(msg);
- throw new Error(msg);
+ // Assemble the command to create the env
+ const createEnvCommand = [
+ `cd "${serverPath()}"`,
+ `${pythonCmd} -m venv env`,
+ ].join(" ; ");
+
+ const [stdout, stderr] = await runCommand(createEnvCommand);
+ if (
+ stderr &&
+ stderr.includes("running scripts is disabled on this system")
+ ) {
+ await vscode.window.showErrorMessage(
+ WINDOWS_REMOTE_SIGNED_SCRIPTS_ERROR
+ );
+ throw new Error(stderr);
+ } else if (
+ stderr?.includes("On Debian/Ubuntu systems") ||
+ stdout?.includes("On Debian/Ubuntu systems")
+ ) {
+ const msg = await getLinuxAptInstallError(pythonCmd);
+ console.log(msg);
+ await vscode.window.showErrorMessage(msg);
+ } else if (checkEnvExists()) {
+ console.log(
+ "Successfully set up python env at ",
+ `${serverPath()}/env`
+ );
+ } else {
+ const msg = [
+ "Python environment not successfully created. Trying again. Here was the stdout + stderr: ",
+ `stdout: ${stdout}`,
+ `stderr: ${stderr}`,
+ ].join("\n\n");
+ console.log(msg);
+ throw new Error(msg);
+ }
}
- }
- // Install the requirements
- await retryThenFail(async () => {
+ // Install the requirements
if (await checkRequirementsInstalled()) {
console.log("Python requirements already installed, skipping...");
} else {