class_docstr: Collection of make commands.
  
  To create a new command, create a method with a short name, give it
  a docstring, and make it do something useful :)
docstr: Generate html report from .coverage and launch
docstr_tok: ["Generate","html","report","from",".coverage","and","launch"]
code: def coverage_html(self, arg):
      """Generate html report from .coverage and launch"""
      print("Generating HTML...")
      from coverage import coverage
  
      cov = coverage(
          auto_data=False,
          branch=True,
          data_suffix=None,
          source=["vispy"],
      )  # should match testing/_coverage.py
      cov.combine()
      cov.load()
      cov.html_report()
      print("Done, launching browser.")
      fname = op.join(os.getcwd(), "htmlcov", "index.html")
      if not op.isfile(fname):
          raise IOError("Generated file not found: %s" % fname)
      webbrowser.open_new_tab(fname)
  
file_path: vispy/make/make.py
imports: from __future__ import division, print_function
  import sys
  import os
  from os import path
  import webbrowser
  import traceback
label_desc: Use image node_id 2 for calling the Maker obj's underlying member method code with example usage: obj.coverage_html(arg) without return types