diff --git a/toolsrc/src/commands_edit.cpp b/toolsrc/src/commands_edit.cpp
new file mode 100644
index 0000000000..71ae8b2c85
--- /dev/null
+++ b/toolsrc/src/commands_edit.cpp
@@ -0,0 +1,21 @@
+#include "vcpkg_Commands.h"
+#include "vcpkg_System.h"
+
+namespace vcpkg
+{
+ void edit_command(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet)
+ {
+ static auto example = "edit zlib";
+ args.check_max_args(1, example);
+ package_spec spec = args.parse_all_arguments_as_package_specs(default_target_triplet, example).at(0);
+
+ // Find editor
+ std::wstring env_EDITOR = System::wdupenv_str(L"EDITOR");
+ if (env_EDITOR.empty())
+ env_EDITOR = LR"(C:\Program Files (x86)\Microsoft VS Code\Code.exe)";
+
+ auto portpath = paths.ports / spec.name;
+ std::wstring cmdLine = Strings::format(LR"("%s" "%s" "%s")", env_EDITOR, portpath.native(), (portpath / "portfile.cmake").native());
+ exit(System::cmd_execute(cmdLine));
+ }
+}
diff --git a/toolsrc/src/commands_other.cpp b/toolsrc/src/commands_other.cpp
index a4f644c112..444eff1c08 100644
--- a/toolsrc/src/commands_other.cpp
+++ b/toolsrc/src/commands_other.cpp
@@ -50,22 +50,6 @@ namespace vcpkg
" vcpkg " << command_and_arguments << "\n";
}
- void edit_command(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet)
- {
- static auto example = "edit zlib";
- args.check_max_args(1, example);
- package_spec spec = args.parse_all_arguments_as_package_specs(default_target_triplet, example).at(0);
-
- // Find editor
- std::wstring env_EDITOR = System::wdupenv_str(L"EDITOR");
- if (env_EDITOR.empty())
- env_EDITOR = LR"(C:\Program Files (x86)\Microsoft VS Code\Code.exe)";
-
- auto portpath = paths.ports / spec.name;
- std::wstring cmdLine = Strings::format(LR"("%s" "%s" "%s")", env_EDITOR, portpath.native(), (portpath / "portfile.cmake").native());
- exit(System::cmd_execute(cmdLine));
- }
-
void create_command(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet)
{
args.check_max_args(3);
diff --git a/toolsrc/vcpkg/vcpkg.vcxproj b/toolsrc/vcpkg/vcpkg.vcxproj
index c20d5e7cea..0a69df78f9 100644
--- a/toolsrc/vcpkg/vcpkg.vcxproj
+++ b/toolsrc/vcpkg/vcpkg.vcxproj
@@ -129,6 +129,7 @@
+
diff --git a/toolsrc/vcpkg/vcpkg.vcxproj.filters b/toolsrc/vcpkg/vcpkg.vcxproj.filters
index ac0d188a07..6601935dac 100644
--- a/toolsrc/vcpkg/vcpkg.vcxproj.filters
+++ b/toolsrc/vcpkg/vcpkg.vcxproj.filters
@@ -54,6 +54,9 @@
Source Files
+
+ Source Files
+