diff --git a/core/modules/views/templates/views-view-fields.html.twig b/core/modules/views/templates/views-view-fields.html.twig
new file mode 100644
index 0000000..76998f6
--- /dev/null
+++ b/core/modules/views/templates/views-view-fields.html.twig
@@ -0,0 +1,36 @@
+{#
+/**
+ * @file
+ * Default view template to display all the fields in a row.
+ *
+ * Available variables:
+ * - view: The view in use.
+ * - fields: A list of fields, each one contains:
+ *   - content: The output of the field.
+ *   - raw: The raw data for the field, if it exists. This is NOT output safe.
+ *   - class: The safe class ID to use.
+ *   - handler: The Views field handler controlling this field.
+ *   - inline: Whether or not the field should be inline.
+ *   - inline_html: Either div or span based on the 'inline' flag.
+ *   - wrapper_prefix: A complete wrapper containing the inline_html to use.
+ *   - wrapper_suffix: The closing tag for the wrapper.
+ *   - separator: An optional separator that may appear before a field.
+ *   - label: The field's label text.
+ *   - label_html: The full HTML of the label to use including configured
+ *     element type.
+ * - row: The raw result from the query, with all data it fetched.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_views_view_fields()
+ *
+ * @ingroup themable
+ */
+#}
+{% for field in fields %}
+  {{ field.separator }}
+
+  {{ field.wrapper_prefix }}
+    {{ field.label_html }}
+    {{ field.content }}
+  {{ field.wrapper_suffix }}
+{% endfor %}
diff --git a/core/modules/views/templates/views-view-fields.tpl.php b/core/modules/views/templates/views-view-fields.tpl.php
deleted file mode 100644
index ae3a4c6..0000000
--- a/core/modules/views/templates/views-view-fields.tpl.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
- * @file
- * Default simple view template to all the fields as a row.
- *
- * - $view: The view in use.
- * - $fields: an array of $field objects. Each one contains:
- *   - $field->content: The output of the field.
- *   - $field->raw: The raw data for the field, if it exists. This is NOT output safe.
- *   - $field->class: The safe class id to use.
- *   - $field->handler: The Views field handler object controlling this field. Do not use
- *     var_export to dump this object, as it can't handle the recursion.
- *   - $field->inline: Whether or not the field should be inline.
- *   - $field->inline_html: either div or span based on the above flag.
- *   - $field->wrapper_prefix: A complete wrapper containing the inline_html to use.
- *   - $field->wrapper_suffix: The closing tag for the wrapper.
- *   - $field->separator: an optional separator that may appear before a field.
- *   - $field->label: The wrap label text to use.
- *   - $field->label_html: The full HTML of the label to use including
- *     configured element type.
- * - $row: The raw result object from the query, with all data it fetched.
- *
- * @ingroup views_templates
- */
-?>
-<?php foreach ($fields as $id => $field): ?>
-  <?php if (!empty($field->separator)): ?>
-    <?php print $field->separator; ?>
-  <?php endif; ?>
-
-  <?php print $field->wrapper_prefix; ?>
-    <?php print $field->label_html; ?>
-    <?php print $field->content; ?>
-  <?php print $field->wrapper_suffix; ?>
-<?php endforeach; ?>
diff --git a/core/modules/views/views.theme.inc b/core/modules/views/views.theme.inc
index 4178bac..78ce92b 100644
--- a/core/modules/views/views.theme.inc
+++ b/core/modules/views/views.theme.inc
@@ -175,11 +175,26 @@ function template_preprocess_views_view(&$vars) {
 }
 
 /**
- * Preprocess theme function to print a single record from a row, with fields
+ * Prepares variables for views fields templates.
+ *
+ * Default template: views-view-fields.html.twig.
+ *
+ * @param array $vars
+ *   An associative array containing:
+*    - view: The view object.
+*    - options: An array of options. Each option contains:
+*      - inline: An array that contains the fields that are to be
+*        displayed inline.
+*      - default_field_elements: If default field wrapper
+*        elements are to be provided.
+*      - hide_empty: Whether the field is to be hidden if empty.
+*      - element_default_classes: If the default classes are to be added.
+*      - separator: A string to be placed between inline fields to keep them
+*        visually distinct.
+*    - row: An array containing information about the current row.
  */
 function template_preprocess_views_view_fields(&$vars) {
   $view = $vars['view'];
-
   // Loop through the fields for this view.
   $previous_inline = FALSE;
   $vars['fields'] = array(); // ensure it's at least an empty array.
