diff --git a/tools/gn/command_gen.cc b/tools/gn/command_gen.cc
index 26fc729..194cace 100644
--- a/tools/gn/command_gen.cc
+++ b/tools/gn/command_gen.cc
@@ -36,6 +36,7 @@
 const char kSwitchIdeValueVs[] = "vs";
 const char kSwitchIdeValueVs2013[] = "vs2013";
 const char kSwitchIdeValueVs2015[] = "vs2015";
+const char kSwitchIdeValueVs2017[] = "vs2017";
 const char kSwitchIdeValueXcode[] = "xcode";
 const char kSwitchIdeValueJson[] = "json";
 const char kSwitchNinjaExtraArgs[] = "ninja-extra-args";
@@ -193,10 +194,13 @@
     }
     return res;
   } else if (ide == kSwitchIdeValueVs || ide == kSwitchIdeValueVs2013 ||
-             ide == kSwitchIdeValueVs2015) {
-    VisualStudioWriter::Version version =
-        ide == kSwitchIdeValueVs2013 ? VisualStudioWriter::Version::Vs2013
-                                     : VisualStudioWriter::Version::Vs2015;
+             ide == kSwitchIdeValueVs2015 || ide == kSwitchIdeValueVs2017) {
+    VisualStudioWriter::Version version = VisualStudioWriter::Version::Vs2015;
+    if (ide == kSwitchIdeValueVs2013)
+      version = VisualStudioWriter::Version::Vs2013;
+    else if (ide == kSwitchIdeValueVs2017)
+      version = VisualStudioWriter::Version::Vs2017;
+
     std::string sln_name;
     if (command_line->HasSwitch(kSwitchSln))
       sln_name = command_line->GetSwitchValueASCII(kSwitchSln);
@@ -293,6 +297,7 @@
              (default Visual Studio version: 2015)
       "vs2013" - Visual Studio 2013 project/solution files.
       "vs2015" - Visual Studio 2015 project/solution files.
+      "vs2017" - Visual Studio 2017 project/solution files.
       "xcode" - Xcode workspace/solution files.
       "qtcreator" - QtCreator project files.
       "json" - JSON file containing target information
diff --git a/tools/gn/visual_studio_writer.cc b/tools/gn/visual_studio_writer.cc
index 6e0b1bd..8a8cf52 100644
--- a/tools/gn/visual_studio_writer.cc
+++ b/tools/gn/visual_studio_writer.cc
@@ -71,10 +71,13 @@
 
 const char kToolsetVersionVs2013[] = "v120";               // Visual Studio 2013
 const char kToolsetVersionVs2015[] = "v140";               // Visual Studio 2015
+const char kToolsetVersionVs2017[] = "v141";               // Visual Studio 2017
 const char kProjectVersionVs2013[] = "12.0";               // Visual Studio 2013
 const char kProjectVersionVs2015[] = "14.0";               // Visual Studio 2015
+const char kProjectVersionVs2017[] = "15.0";               // Visual Studio 2015
 const char kVersionStringVs2013[] = "Visual Studio 2013";  // Visual Studio 2013
 const char kVersionStringVs2015[] = "Visual Studio 2015";  // Visual Studio 2015
+const char kVersionStringVs2017[] = "Visual Studio 2017";  // Visual Studio 2017
 const char kWindowsKitsVersion[] = "10";                   // Windows 10 SDK
 const char kWindowsKitsIncludeVersion[] = "10.0.14393.0";  // Windows 10 SDK
 
@@ -273,6 +276,11 @@
       toolset_version_ = kToolsetVersionVs2015;
       version_string_ = kVersionStringVs2015;
       break;
+    case Version::Vs2017:
+      project_version_ = kProjectVersionVs2017;
+      toolset_version_ = kToolsetVersionVs2017;
+      version_string_ = kVersionStringVs2017;
+      break;
     default:
       NOTREACHED() << "Not a valid Visual Studio Version: " << version;
   }
diff --git a/tools/gn/visual_studio_writer.h b/tools/gn/visual_studio_writer.h
index 639be09..1793573 100644
--- a/tools/gn/visual_studio_writer.h
+++ b/tools/gn/visual_studio_writer.h
@@ -28,7 +28,8 @@
  public:
   enum Version {
     Vs2013 = 1,  // Visual Studio 2013
-    Vs2015       // Visual Studio 2015
+    Vs2015,      // Visual Studio 2015
+    Vs2017       // Visual Studio 2017
   };
 
   // Writes Visual Studio project and solution files. |sln_name| is the optional
