{"id":11790,"date":"2017-07-24T07:15:39","date_gmt":"2017-07-24T06:15:39","guid":{"rendered":"https:\/\/sysprogs.com\/w\/?p=11790"},"modified":"2017-07-24T07:15:39","modified_gmt":"2017-07-24T06:15:39","slug":"introducing-the-new-team-settings-engine","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/w\/introducing-the-new-team-settings-engine\/","title":{"rendered":"Introducing the new Team Settings Engine"},"content":{"rendered":"<p>Since we released the first version of VisualGDB, it has evolved from a basic debugging plugin to a comprehensive\u00a0extension that helps\u00a0manage numerous toolchains, packages, build machines, project templates and more. VisualGDB offers\u00a0GUI for managing those artifacts on the developer machines, however setting up a new development machine\u00a0from scratch could be annoying\u00a0due to necessity to setup remote host connections, toolchains, aliases etc.<\/p>\n<p>VisualGDB 5.3 Preview 4 introduces a new\u00a0mechanism that\u00a0allows instantly sharing\u00a0various common settings with other team members &#8211; VisualGDB Team Settings.<!--more-->Team Settings\u00a0uses shared Windows folders to synchronize settings between different machines.\u00a0It can be enabled via\u00a0Tools-&gt;VisualGDB-&gt;Manage Team Settings:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/settings.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11791\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/settings.png\" alt=\"settings\" width=\"728\" height=\"609\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/settings.png 728w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/settings-300x251.png 300w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/a>In order to use Team Settings, you will need to share a directory (via Windows Shared Folders) and tell VisualGDB to store the settings there:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/shared.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11792\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/shared.png\" alt=\"shared\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/shared.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/shared-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p>VisualGDB will rely on the Windows file permissions to manage read\/write access to the shared settings and will automatically prevent two users from editing the shared settings at once. Once the\u00a0directory is specified, VisualGDB will let you choose\u00a0the precise settings to share. I will give you an overview of each type of shared settings below.<\/p>\n<h2>Remote Hosts<\/h2>\n<p>If you are using remote Linux machines to build\/debug your projects, you can share the corresponding connection entries:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/hosts.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11793\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/hosts.png\" alt=\"hosts\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/hosts.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/hosts-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p>Once an entry is shared, it will automatically appear in the remote computer lists\u00a0on all of the computers using the same shared settings location. All options\u00a0(like proxy server and file transfer mode) will be\u00a0automatically transferred as if they were manually entered on each computer.\u00a0For each connection you can choose to share the password, or let the users\u00a0re-enter it (private keys won&#8217;t be automatically shared and would require entering a password to reconfigure the key).<\/p>\n<h2>Host Aliases<\/h2>\n<p>If you periodically change the physical machines beyond some common roles (like the primary build machine), <a href=\"https:\/\/visualgdb.com\/tutorials\/linux\/aliases\/\">host aliases<\/a>\u00a0let you\u00a0do the change in one place only, instead of modifying all of the related projects. Sharing host aliases makes it even simpler: change the\u00a0alias target on any machine with write access to the shared settings and the new value will be immediately propagated to all of your development machines:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/aliases.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11794\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/aliases.png\" alt=\"aliases\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/aliases.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/aliases-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<h2>Host Settings<\/h2>\n<p>Another type of setting that could be\u00a0easily shared is the per-host settings (e.g. default\u00a0temporary directory) and remote toolchains:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/toolchains.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11797\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/toolchains.png\" alt=\"toolchains\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/toolchains.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/toolchains-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a>E.g. if\u00a0your Linux machine contains a yocto-based toolchain that needs to be\u00a0manually located when creating a project, you can share it via Team Settings and it will automatically appear on all development\u00a0machines\u00a0in your team. Note that the toolchains and common settings like temporary directory are\u00a0specific to\u00a0each remote host, not a host\/user combination. So you can share those even if\u00a0your team members use different Linux user accounts that are not shared via the Team Settings.<\/p>\n<h2>Packages<\/h2>\n<p>If you are using\u00a0any of the cross-toolchains or BSPs shipped with VisualGDB,\u00a0you\u00a0don&#8217;t need to install them manually on each machine anymore. Simply check the specific versions you want installed on each of your development machines and VisualGDB will\u00a0do it for you:<br \/>\n<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/packages.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11798\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/packages.png\" alt=\"packages\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/packages.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/packages-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p>Similarly once you decide to move on from an older version of a toolchain\/BSP, uncheck it and VisualGDB will remove it on each\u00a0machine where it was auto-installed via Team Settings.<\/p>\n<h2>Quick Debug<\/h2>\n<p><a href=\"https:\/\/visualgdb.com\/tutorials\/linux\/quickdebug\/\">Quick Debug<\/a>\u00a0allows easily debugging programs without creating Visual Studio projects for them. It could be useful for occasional debugging of small tools built via\u00a0build scripts, or\u00a0to debug code built with domain-specific IDEs. With Team Settings you can simply share any of your\u00a0Quick Debug presets with other team members and they will\u00a0be immediately able to start using them:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/quick.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11799\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/quick.png\" alt=\"quick\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/quick.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/quick-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p>Note that once a Quick Debug preset is shared, it cannot be edited\u00a0and can only be saved under a different name.<\/p>\n<h2>Common Settings<\/h2>\n<p>If you are relying on <a href=\"https:\/\/visualgdb.com\/tutorials\/arm\/templates\/\">custom project templates<\/a>, you can make project\u00a0creation one step easier by sharing the default template directory setting with other team members. Once the directory setting shared, every development machine will use\u00a0the specified directory to look for project templates:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/templates.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11800\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/templates.png\" alt=\"templates\" width=\"686\" height=\"493\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/templates.png 686w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/templates-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<h2>Synchronizing Settings<\/h2>\n<p>Team settings are stored in an XML file in the\u00a0shared settings directory. VisualGDB will\u00a0do background checks (usually once every minute) and if the file was changed, it will automatically resynchronize the settings in the background (VisualGDB keeps a local copy of all shared settings, so losing the connection to the shared directory won&#8217;t break your projects). You can also synchronize the settings manually by running <strong>VisualGDB.exe \/teamsync:<\/strong><\/p>\n<p><a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/cmdline.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11801\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/cmdline.png\" alt=\"cmdline\" width=\"843\" height=\"330\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/cmdline.png 843w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/cmdline-300x117.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/07\/cmdline-768x301.png 768w\" sizes=\"(max-width: 843px) 100vw, 843px\" \/><\/a><\/p>\n<p>Lastly, if you are deploying\u00a0VisualGDB to many machines at once, you can configure team settings via command line. Simply run <strong>VisualGDB.exe \/teamsync:&lt;network folder with team settings&gt;<\/strong> and it will automatically\u00a0import all the settings and remember the directory, so further changes will be synchronized automatically.<\/p>\n<h2>Give\u00a0It a Try<\/h2>\n<p>You can download VisualGDB 5.3 Preview 4\u00a0<a href=\"http:\/\/visualgdb.com\/download\/\">here<\/a>. As always, we will be excited to hear your feedback, so don\u2019t hesitate to reach out to us via our <a href=\"http:\/\/sysprogs.com\/support\/\">support page<\/a>\u00a0 or <a href=\"http:\/\/sysprogs.com\/w\/visualgdb\">forum<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since we released the first version of VisualGDB, it has evolved from a basic debugging plugin to a comprehensive\u00a0extension that helps\u00a0manage numerous toolchains, packages, build machines, project templates and more. VisualGDB offers\u00a0GUI for managing those artifacts on the developer machines, however setting up a new development machine\u00a0from scratch could be annoying\u00a0due to necessity to setup &hellip; <a href=\"https:\/\/sysprogs.com\/w\/introducing-the-new-team-settings-engine\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Introducing the new Team Settings Engine<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[1],"tags":[422],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/11790"}],"collection":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/comments?post=11790"}],"version-history":[{"count":1,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/11790\/revisions"}],"predecessor-version":[{"id":11802,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/11790\/revisions\/11802"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/media?parent=11790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/categories?post=11790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/tags?post=11790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}