// Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
#pragma once
#include "Editor/Scripting/CodeEditor.h"
///
/// Implementation of code editor utility that is using Microsoft Visual Studio Code.
///
class VisualStudioCodeEditor : public CodeEditor
{
private:
String _execPath;
String _workspacePath;
bool _isInsiders;
public:
///
/// Initializes a new instance of the class.
///
/// Executable file path
/// Is insiders edition
VisualStudioCodeEditor(const String& execPath, const bool isInsiders);
public:
///
/// Tries to find installed Visual Studio Code instance. Adds them to the result list.
///
/// The output editors.
static void FindEditors(Array* output);
public:
// [CodeEditor]
CodeEditorTypes GetType() const override;
String GetName() const override;
void OpenFile(const String& path, int32 line) override;
void OpenSolution() override;
bool UseAsyncForOpen() const override;
};