diff --git a/src/applications/differential/controller/DifferentialChangesetViewController.php b/src/applications/differential/controller/DifferentialChangesetViewController.php
--- a/src/applications/differential/controller/DifferentialChangesetViewController.php
+++ b/src/applications/differential/controller/DifferentialChangesetViewController.php
@@ -166,6 +166,15 @@
 
     $parser->readParametersFromRequest($request);
 
+    $generated_paths = id(new DifferentialDiffProperty())->loadOneWhere(
+      'diffID = %d AND name = %s',
+      $changeset->getDiffID(),
+      'arc:generated');
+
+    if ($generated_paths) {
+      $parser->setGeneratedPaths($generated_paths->getData());
+    }
+
     if ($left && $right) {
       $parser->setOriginals($left, $right);
     }
diff --git a/src/applications/differential/parser/DifferentialChangesetParser.php b/src/applications/differential/parser/DifferentialChangesetParser.php
--- a/src/applications/differential/parser/DifferentialChangesetParser.php
+++ b/src/applications/differential/parser/DifferentialChangesetParser.php
@@ -46,6 +46,7 @@
   private $renderer;
   private $characterEncoding;
   private $highlightAs;
+  private $generatedPaths = array();
   private $highlightingDisabled;
   private $showEditAndReplyLinks = true;
   private $canMarkDone;
@@ -97,6 +98,14 @@
     return $this->characterEncoding;
   }
 
+  public function setGeneratedPaths(array $paths) {
+    $this->generatedPaths = $paths;
+  }
+
+  public function getGeneratedPaths() {
+    return $this->generatedPaths;
+  }
+
   public function setRenderer(DifferentialChangesetRenderer $renderer) {
     $this->renderer = $renderer;
     return $this;
@@ -493,8 +502,19 @@
     $generated_guess = (strpos($new_corpus_block, '@'.'generated') !== false);
 
     if (!$generated_guess) {
-      $generated_path_regexps = PhabricatorEnv::getEnvConfig(
-        'differential.generated-paths');
+      foreach ($this->generatedPaths as $regex) {
+        if (preg_match($regex, $this->changeset->getFilename())) {
+          $generated_guess = true;
+          break;
+        }
+      }
+    }
+
+    // The following is deprecated and should not be used.
+    if (!$generated_guess) {
+      $key = 'differential.generated-paths';
+      $generated_path_regexps = PhabricatorEnv::getEnvConfig($key);
+
       foreach ($generated_path_regexps as $regexp) {
         if (preg_match($regexp, $this->changeset->getFilename())) {
           $generated_guess = true;