====== 10 IDE Setup ======
//Personalizing a fresh install of LabVIEW and/or aligning your settings with those of your team mates goes a long way towards easier collaboration.//
===== LabVIEW =====
==== LabVIEW.ini settings ====
//[[https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000PA7rSAG&l=de-DE|Where Does LabVIEW Store Configuration Settings?]]// \\
//[[https://labviewwiki.org/wiki/LabVIEW_configuration_file|LabVIEW Wiki: LabVIEW Configuration File]]//
QuickBold=True
bookmarkmanager.showvilib=True
bookmarkmanager.showresource=True
defaultErrorHandlingForNewVIs=False
sourceOnlyDefaultForNewVIs=True
QuickDropFastSearch=True
FancyFPTerms=False
reqdTermsByDefault=True
returnKeyAction=True
enableAutoWire=False
autoRouteWires=False
StructuresAutoSizeByDefault=False
DropSubdiagramLabelByDefault=True
allowItemsViewDelete=True
DefaultLabelPositionIndBD=4
DefaultLabelPositionBD=12
defaultControlStyle=2
useNumbersForNewVIIcons=False
autoInsertFeedbackNode=False
autoLayoutBlockPaddingX=25
autoLayoutBlockPaddingY=30
autoLayoutWirePaddingX=10
autoLayoutWirePaddingY=10
autoLayoutFixControls=True
autoLayoutFixIndicators=True
skipNavigatorDialog=False
server.tcp.access="+127.0.0.1;+localhost;+*"
showBDConstName=True
LVdebugKeys=True
DragAdjustWires=False
NI.LV.RemoveNoError=True
server.viscripting.showScriptingOperationsInEditor=True
//More to be found at [[https://thelvlab.wixsite.com/thelabviewlab/single-post/2017/12/21/All-the-LabVIEWini-Treasures-You-Were-Looking-For|The LabVIEW Lab]].//
==== Other LabVIEW Settings ====
* Change default names for accessors from "Read" & "Write" to "Get" & "Set"
* Original location: ''[LabVIEW20xx]\resource\Framework\Providers\LVClassLibrary\CLSUIP_LocalizedStrings.vi''
* LV2025Q3 and later: ''[LabVIEW20xx]\resource\Framework\Providers\LVClassLibrary\NewAccessors\CLSUIP_LocalizedStrings.vi''
==== VI Packages ====
* [[https://www.vipm.io/package/greylock_technology_lib_bookmark_project_provider/|Bookmark Project Provider]]
* [[https://www.vipm.io/package/jki_lib_caraya/|Caraya unit Test Framwork]]
* [[https://www.vipm.io/package/drjdpowell_lib_cyclic_table_probes/|Cyclic Table Probes]]
* [[https://www.vipm.io/package/delacor_lib_dqmh_toolkit/|Delacor QMH]]
* [[https://www.vipm.io/package/labview_open_source_lib_epoch_datetime|Epoch Date & Time]]
* [[https://sine.ni.com/nips/cds/view/p/lang/de/nid/212430|Hidden GEms in vi.lib]]
* [[code:commercial:hse-error-code-helper|HSE Error Code Helper]]
* [[code:open-source:hse-layout-manager|HSE Layout Manager]]
* [[code:open-source:hse-logger|HSE Logger]]
* [[code:commercial:hse-state-machine-parser|HSE State-Machine Parser]]
* HSE WoW: Glyphs and Icon Templates
* HSE WoW: LabVIEW Settings
* HSE WoW: QuickDrop Plugins
* HSE WoW: Timing Probe
* HSE WoW: VI Analyzer TEsts
* HSE WoW: VI Templates
* [[https://www.vipm.io/package/hse_lib_hse_ify_dqmh_tool/|HSE-ify DQMH Tool]]
* [[https://www.vipm.io/package/jdp_science_lib_common_utilities/|JDP Science Common Utilities]]
* [[https://www.vipm.io/package/jki_lib_state_machine|JKI State Machine]]
* [[https://www.vipm.io/package/jdp_science_jsontext/|JSONtext by JDP Science]]
* [[https://www.vipm.io/package/ni_patch_labview_right_click_plugin_bugfix/|Right Click Plugin Bugfix]] (removed since LV2020)
* [[https://www.vipm.io/package/labview_open_source_project_lib_labview_open_source_palette|LabVIEW Open Source Palette]]
* [[https://www.vipm.io/package/ni_bookmarkmanager_bdpreview/|NI Bookmark Manager]]
* [[https://www.vipm.io/package/neosoft_technologies_inc_lib_open_dqmh_request_message_diagram|Open DQMH Request Message Diagram]]
* [[https://www.vipm.io/publisher/openg/|Some openG Libraries]]
* [[https://www.vipm.io/package/zuehlke_engineering_lib_zalign/|ZAlign]] (removed since LV2020)
* [[https://www.vipm.io/package/mnprojects_lib_quickdrop_addlabels|QuickDrop AddLabels]]
* [[https://forums.ni.com/t5/Developer-Center-Resources/VI-Properties-Editor/ta-p/3492371|VI Properties Editor]]
* [[https://www.vipm.io/package/zuehlke_engineering_dqmh_provider_for_the_project_explorer/|ZE DQMH Provider for the Project]]
==== VI Icons and Glyphs ====
* [[https://code.hampel-soft.com/hse-labs/hse-little-helpers|Little Helper]]
==== Quick Drop Plugins ====
//[[http://labviewartisan.blogspot.com/2012/11/getting-started-with-custom-quick-drop.html|Getting started with custom quick drop shortcuts]]//
=== CTRL-Key Shortcuts ===
These QD plugins are installed via our WoW:
^ Shortcut ^ Plugin Name ^
| S | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Quick-Drop-Plugin-Align-selected-elements/m-p/3806677|Align Elements]] (matrixx5687) |
| A | [[https://forums.ni.com/t5/LabVIEW-APIs-Documents/Quick-Drop-Align-front-panel-controls-to-connector-pane-pattern/ta-p/3530644|Align to Connector Pane]] (RoboticsME) |
| G | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Quick-Drop-Keyboard-Shortcut-Create-Place-VI-Contents-VI/gpm-p/3520372|Create VI Template]] (dnatt) |
| I | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Insert-From-Clipboard-Multi-Object-Support-Native-Insert/td-p/3536906|Insert from Clipboard]] (hooovahh) |
| J | [[https://forums.ni.com/t5/Example-Code/Parse-JSON-to-Cluster/ta-p/3499458|JSON to Cluster - QD]] (Fred_V) |
| H | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Quick-Drop-Keyboard-Shortcut-Nattify-VI/gpm-p/3990402|Nattify_HSE_Flavour]] (dnatt) |
| P | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Replace-from-Clipboard/gpm-p/3521544|Replace from Clipboard]] (DanyAllard) |
| F | [[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Show-VI-in-Windows-Explorer/td-p/3490730|Show VI in Win Explorer]] (David_L) |
These QD plugins are distributed with LV or via installed VI packages:
^ Shortcut ^ Plugin Name ^
| Q | [[https://www.vipm.io/package/mnprojects_lib_quickdrop_addlabels/|Add Labels]] (Martin Nöhrer) |
| M | [[https://www.vipm.io/package/greylock_technology_lib_bookmark_project_provider/|Bookmark QD Plugin]] (Greylock Tech.) |
| X | **[[code:commercial:hse-error-code-helper|HSE Error Code Helper]]** |
| L | **[[code:commercial:hse-state-machine-parser|HSE State-Machine Parser]]** |
| E | [[https://dqmh.org|Launch DQMH Tool]] |
| T | Move Labels |
| R | Remove and rewire |
| O | Reset to Origin |
| U | [[https://www.vipm.io/package/jki_lib_caraya/|Run Project Unit Tests (Caraya)]] |
| K | Set Text Icon |
| B | VI Server Rename |
| D | Wire All Terminals |
| W | Wire Multiple Objects Together |
| | |
=== Block Diagram (inserts) ===
^ Text ^ Object to insert ^
| ''hi'' | HSE Logger INFO VI |
| ''hd'' | HSE Logger DEBUG VI |
| ''hw'' | HSE Logger WARNING VI |
| ''he'' | HSE Logger ERROR VI |
| ''ht'' | HSE Caraya Unit Test Template |
==== Custom Probes ====
[[https://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/creating_custom_probes/|Creating Custom Probes]] \\
[[https://lavag.org/files/category/15-custom-probes/|LavaG Custom Probes Repository]]
* Timing Probe: https://forums.ni.com/t5/LabVIEW/Darren-s-Occasional-Nugget-02-23-2018/m-p/3759109
* Further useful probes are included in the VI-Packes JSONText and SQLite from J. Powell.
==== VI Templates ====
* [[kb:bestpractices:testing:caraya|Caraya UT Template]]
==== VI Analyzer Tests ====
We can install custom VI Analyzer tests.
----
===== HSE WoW .vipc =====
We've created a .vipc (a VI Package Configuration file) that automates all of the above for ourselves and for our customers:
Please feel free to **[[support@hampel-soft.com|contact us]]** if you are interested in a customized WoW VI Package for your team.
{{:kb:bestpractices:wow:hse-wow-v101.png?nolink|}}
----
===== Other Resources =====
These are items that are not part of our WoW .vipc.
==== Shortcut Menu Plugins ====
[[https://forums.ni.com/t5/LabVIEW-Shortcut-Menu-Plug-Ins/tkb-p/3013|LabVIEW Shortcut Menu Plug-Ins Forum]]
* [[https://forums.ni.com/t5/LabVIEW-Shortcut-Menu-Plug-Ins/Darren-s-Favorite-Shortcut-Menu-Plug-Ins-zip/ta-p/3525280?profile.language=en|Darren Nattinger's Favorite Shortcut Plugins]]
Do we neew to include them in
[[https://forums.ni.com/t5/Quick-Drop-Enthusiasts/Quick-Drop-Palette-Object-Shortcuts-English/gpm-p/3620446?profile.language=en|lv.ini]]?
==== Git Setup ====
see our page about [[kb:bestpractices:scc:fork|Fork Setup]] and [[kb:scc:git:ssh|SSH Setup]]. When working on multiple (virtual) machines, the easiest way is, to maintain only one pair of ssh-keys. Keep the default name and store them in a central, but safe place and distribute it to all machines and SCCM providers.