diff options
Diffstat (limited to 'extension/src')
| -rw-r--r-- | extension/src/activation/environmentSetup.ts | 59 | ||||
| -rw-r--r-- | extension/src/debugPanel.ts | 5 | 
2 files changed, 36 insertions, 28 deletions
diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts index ad6ac71b..db2c5523 100644 --- a/extension/src/activation/environmentSetup.ts +++ b/extension/src/activation/environmentSetup.ts @@ -10,6 +10,7 @@ import { getContinueServerUrl } from "../bridge";  import fetch from "node-fetch";  async function runCommand(cmd: string): Promise<[string, string | undefined]> { +  console.log("Running command: ", cmd);    var stdout: any = "";    var stderr: any = "";    try { @@ -61,14 +62,16 @@ function getActivateUpgradeCommands(pythonCmd: string, pipCmd: string) {  }  function checkEnvExists() { -  const envBinActivatePath = path.join( +  const envBinPath = path.join(      getExtensionUri().fsPath,      "scripts",      "env", -    "bin", -    "activate" +    "bin" +  ); +  return ( +    fs.existsSync(envBinPath + "/activate") && +    fs.existsSync(envBinPath + "/pip")    ); -  return fs.existsSync(envBinActivatePath);  }  async function setupPythonEnv() { @@ -180,34 +183,34 @@ export async function startContinuePythonServer() {      pythonCmd = "python";    } -  // let command = `cd ${path.join( -  //   getExtensionUri().fsPath, -  //   "scripts" -  // )} && ${activateCmd} && cd env/lib/python3.11/site-packages && ${pythonCmd} -m continuedev.server.main`;    let command = `cd ${path.join(      getExtensionUri().fsPath,      "scripts"    )} && ${activateCmd} && cd .. && ${pythonCmd} -m scripts.run_continue_server`; -  try { -    // exec(command); -    const child = spawn(command, { -      shell: true, -    }); -    child.stdout.on("data", (data: any) => { -      console.log(`stdout: ${data}`); -    }); -    child.stderr.on("data", (data: any) => { -      console.log(`stderr: ${data}`); -    }); -    child.on("error", (error: any) => { -      console.log(`error: ${error.message}`); -    }); -  } catch (e) { -    console.log("Failed to start Continue python server", e); -  } -  // Sleep for 3 seconds to give the server time to start -  await new Promise((resolve) => setTimeout(resolve, 3000)); -  console.log("Successfully started Continue python server"); + +  return new Promise((resolve, reject) => { +    try { +      const child = spawn(command, { +        shell: true, +      }); +      child.stdout.on("data", (data: any) => { +        console.log(`stdout: ${data}`); +      }); +      child.stderr.on("data", (data: any) => { +        console.log(`stderr: ${data}`); +        if (data.includes("Uvicorn running on")) { +          console.log("Successfully started Continue python server"); +          resolve(null); +        } +      }); +      child.on("error", (error: any) => { +        console.log(`error: ${error.message}`); +      }); +    } catch (e) { +      console.log("Failed to start Continue python server", e); +      reject(); +    } +  });  }  async function installNodeModules() { diff --git a/extension/src/debugPanel.ts b/extension/src/debugPanel.ts index a295085f..da29a52c 100644 --- a/extension/src/debugPanel.ts +++ b/extension/src/debugPanel.ts @@ -16,6 +16,7 @@ import {  import { sendTelemetryEvent, TelemetryEvent } from "./telemetry";  import { RangeInFile, SerializedDebugContext } from "./client";  import { addFileSystemToDebugContext } from "./util/util"; +const WebSocket = require("ws");  class StreamManager {    private _fullText: string = ""; @@ -119,6 +120,9 @@ class WebsocketConnection {    }    public send(message: string) { +    if (typeof message !== "string") { +      message = JSON.stringify(message); +    }      this._ws.send(message);    } @@ -190,6 +194,7 @@ export function setupDebugPanel(    async function connectWebsocket(url: string) {      return new Promise((resolve, reject) => {        const onMessage = (message: any) => { +        console.log("websocket message", message);          panel.webview.postMessage({            type: "websocketForwardingMessage",            url,  | 
