diff --git a/.gitignore b/.gitignore index 9491a2f..dc8ee0d 100644 --- a/.gitignore +++ b/.gitignore @@ -302,6 +302,9 @@ node_modules/ **/*.Server/ModelManifest.xml _Pvt_Extensions +# VsixSignTool +vsixsigntool.exe + # Paket dependency manager .paket/paket.exe paket-files/ diff --git a/CodeiumVS/CodeiumVSPackage.cs b/CodeiumVS/CodeiumVSPackage.cs index a321712..f73bf69 100644 --- a/CodeiumVS/CodeiumVSPackage.cs +++ b/CodeiumVS/CodeiumVSPackage.cs @@ -236,7 +236,12 @@ public string GetLanguageServerFolder() public string GetLanguageServerPath() { - return Path.Combine(GetLanguageServerFolder(), "language_server_windows_x64.exe"); + string binaryName = "language_server_windows_x64.exe"; + if (SettingsPage.EnterpriseMode) + { + binaryName = "language_server_windows_x64_enterprise.exe"; + } + return Path.Combine(GetLanguageServerFolder(), binaryName); } public string GetDatabaseDirectory() diff --git a/CodeiumVS/LanguageServer/LanguageServer.cs b/CodeiumVS/LanguageServer/LanguageServer.cs index bc09702..8fb1b4a 100644 --- a/CodeiumVS/LanguageServer/LanguageServer.cs +++ b/CodeiumVS/LanguageServer/LanguageServer.cs @@ -21,7 +21,7 @@ namespace CodeiumVS; public class LanguageServer { - private const string Version = "1.6.7"; + private const string Version = "1.6.10"; private int Port = 0; private Process process; @@ -192,9 +192,31 @@ public async Task PrepareAsync() var waitDialogFactory = (IVsThreadedWaitDialogFactory)await VS.Services.GetThreadedWaitDialogAsync(); IVsThreadedWaitDialog4 progDialog = waitDialogFactory.CreateInstance(); + + + string extensionBaseUrl = "https://github.com/Exafunction/codeium/releases/download"; + string languageServerVersion = Version; + if (Package.SettingsPage.EnterpriseMode) + { + // Get the contents of /api/extension_base_url + try + { + string portalUrl = Package.SettingsPage.PortalUrl.TrimEnd('/'); + string result = await new HttpClient().GetStringAsync(portalUrl + "/api/extension_base_url"); + extensionBaseUrl = result.Trim().TrimEnd('/'); + languageServerVersion = await new HttpClient().GetStringAsync(portalUrl + "/api/version"); + } + catch (Exception) + { + await Package.LogAsync("Failed to get extension base url"); + extensionBaseUrl = "https://github.com/Exafunction/codeium/releases/download"; + } + } + Metadata.extension_version = languageServerVersion; + progDialog.StartWaitDialog( - "Codeium", $"Downloading language server v{Version}", "", null, - $"Codeium: Downloading language server v{Version}", 0, false, true + "Codeium", $"Downloading language server v{languageServerVersion}", "", null, + $"Codeium: Downloading language server v{languageServerVersion}", 0, false, true ); // the language server is downloaded in a thread so that it doesn't block the UI @@ -208,7 +230,7 @@ void ThreadDownloadLanguageServer() Directory.CreateDirectory(langServerFolder); if (File.Exists(downloadDest)) File.Delete(downloadDest); - Uri url = new($"https://github.com/Exafunction/codeium/releases/download/language-server-v{Version}/language_server_windows_x64.exe.gz"); + Uri url = new($"{extensionBaseUrl}/language-server-v{languageServerVersion}/language_server_windows_x64.exe.gz"); WebClient webClient = new(); @@ -227,9 +249,9 @@ void ThreadDownloadLanguageServer() double recievedBytesMb = e.BytesReceived / 1024.0 / 1024.0; progDialog.UpdateProgress( - $"Downloading language server v{Version} ({e.ProgressPercentage}%)", + $"Downloading language server v{languageServerVersion} ({e.ProgressPercentage}%)", $"{recievedBytesMb:f2}Mb / {totalBytesMb:f2}Mb", - $"Codeium: Downloading language server v{Version} ({e.ProgressPercentage}%)", + $"Codeium: Downloading language server v{languageServerVersion} ({e.ProgressPercentage}%)", (int)e.BytesReceived, (int)e.TotalBytesToReceive, true, out _ ); diff --git a/CodeiumVS/source.extension.cs b/CodeiumVS/source.extension.cs index fec538a..5f6c8fc 100644 --- a/CodeiumVS/source.extension.cs +++ b/CodeiumVS/source.extension.cs @@ -11,7 +11,7 @@ internal sealed partial class Vsix public const string Name = "Codeium"; public const string Description = @"The modern coding superpower: free AI code acceleration plugin for your favorite languages. Type less. Code more. Ship faster."; public const string Language = "en-US"; - public const string Version = "1.6.7"; + public const string Version = "1.6.10"; public const string Author = "Codeium"; public const string Tags = ""; } diff --git a/CodeiumVS/source.extension.vsixmanifest b/CodeiumVS/source.extension.vsixmanifest index a88e547..dd030fc 100644 --- a/CodeiumVS/source.extension.vsixmanifest +++ b/CodeiumVS/source.extension.vsixmanifest @@ -1,7 +1,7 @@ - + Codeium The modern coding superpower: free AI code acceleration plugin for your favorite languages. Type less. Code more. Ship faster. https://www.codeium.com