| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include "BsEditorPrerequisites.h"
- #include "BsCodeEditor.h"
- namespace BansheeEngine
- {
- enum class VisualStudioVersion
- {
- VS2008,
- VS2010,
- VS2012,
- VS2013,
- VS2015
- };
- class BS_ED_EXPORT VSCodeEditor : public CodeEditor
- {
- public:
- VSCodeEditor(VisualStudioVersion version, const Path& execPath, const WString& CLSID);
- void openFile(const Path& solutionPath, const Path& filePath, UINT32 lineNumber) const override;
- void syncSolution(const CodeSolutionData& data, const Path& outputPath) const override;
- private:
- VisualStudioVersion mVersion;
- Path mExecPath;
- WString mCLSID;
- };
- class BS_ED_EXPORT VSCodeEditorFactory : public CodeEditorFactory
- {
- public:
- VSCodeEditorFactory();
- const Vector<CodeEditorType>& getAvailableEditors() const override { return mAvailableEditors; }
- CodeEditor* create(CodeEditorType editor) const override;
- private:
- struct VSVersionInfo
- {
- WString name;
- Path execPath;
- WString CLSID;
- VisualStudioVersion version;
- };
- Map<CodeEditorType, VSVersionInfo> getAvailableVersions() const;
- Map<CodeEditorType, VSVersionInfo> mAvailableVersions;
- Vector<CodeEditorType> mAvailableEditors;
- };
- }
|