== Grade Support

[[support-for-build-scans]]
=== Support for build scans

Build scans can now be enabled in the preferences. If enabled, and the
target project applies the
https://gradle.com/scans/get-started[com.gradle.build-scan] plugin then
each build invocation will publish a scan.

To access the scans more easily, the URLs in the console view are turned
into clickable link.

image::images/3cSh3Gi.png[]

Besides, the Executions view contains a new toolbar action to open
published build scans if there's one. 

image::images/JLZ6u9s.png[]

[[more-flexible-preferences]]
=== More flexible preferences

Buildship now provides all preferences, like Gradle distribution, user
home and offline mode on three different levels: For the whole
workspace, for a specific Gradle build or for an individual run
configuration. The lower levels can override the settings in the upper
levels. 

[[new-project-and-import-wizard]]
==== New project and Import wizard

image::images/FyKR70z.png[]

[[workspace-preferences]]
==== Workspace preferences 

image::images/rjAnTVx.png[]

[[project-preferences]]
==== Project preferences

image::images/eNfczEF.png[]

[[run-configuration]]
==== Run configuration

image::images/8Xi6L7K.png[]

[NOTE]
====
Please note that the Gradle user home and the local Gradle distribution
location are stored as absolute paths. This means if you specify them,
then the generated configuration file should not be shared. To make this
behavior clear we marked those preferences with warning icons.
====

[[task-and-executions-view-headers-are-shown-by-default]]
=== Task and Executions view headers are shown by default

Users repeatedly reported that the columns in the Tasks and in the
Executions view are not wide enough and it's hard to find the `Show
Headers` option in the view's context menu. Thus, we removed the option
and now show the headers by default.

image::images/ovVTBbr.png[]