USFOS for Visual Studio Code
Language support and workflow tools for DNV USFOS input files. The extension is inspired by the lightweight vscode-lsdyna editing experience and adds an integrated USFOS analysis runner.
Features
- Syntax highlighting for
.fem, .ufo, .uss, and .usl.
- Completion and snippets for common analysis, structure, load, dynamic, foundation, fire, impact, and hydrodynamic records.
- Hover descriptions with the record meaning and named input format, plus an Outline view for recognized records.
- Warning for lines beyond the USFOS 132-character input limit.
- USFOS: Run Analysis command and editor play button.
- Commands to open the locally installed user manual and examples.
- A starter static control deck from USFOS: Insert Starter Control Deck.
The default paths target DNV USFOS V9.0-00 on Windows and can be changed under Settings by searching for USFOS.
Use it during development
- Open this folder in Visual Studio Code.
- Run
npm install once.
- Press
F5 and choose Run USFOS Extension if prompted.
- In the Extension Development Host window, open a USFOS input folder or file.
VS Code automatically selects the USFOS language for the supported extensions. If another extension owns .fem, click the language indicator in the lower-right corner and choose USFOS.
Type a record name (for example CUSFOS, NODE, or WAVEDATA) and press Ctrl+Space for completion. Hover a recognized record for a short description. Larger snippets are also available, including static-control.
Run an analysis
- Open either the control file (normally
head_orig.fem) or structure file (normally model.fem).
- Click the play icon in the editor title, or open the Command Palette (
Ctrl+Shift+P) and run USFOS: Run Analysis.
- The extension automatically pairs conventional sibling names. If it cannot, it asks for the control and structure files.
- Watch the USFOS Output channel. Results are written to a
results subfolder by default.
The runner supplies four lines to USFOS: the extensionless control-file prefix, the extensionless structure-file prefix, an empty optional load-file line, and the output prefix. USFOS appends .fem to its input prefixes. The extension never invokes a command shell.
Settings
usfos.executablePath: path to Usfos.exe.
usfos.manualPath: path to the USFOS manual PDF.
usfos.examplesPath: installed examples folder.
usfos.run.outputDirectory: relative or absolute results folder.
usfos.run.saveBeforeRun: save modified input before running.
usfos.diagnostics.maxLineLength: input-column warning; 0 disables it.
Install a packaged build
Run:
npm install
npm run package
code --install-extension .\usfos-tools-0.1.0.vsix
Alternatively, in VS Code choose Extensions: Install from VSIX... and select the generated file.
USFOS is a product of DNV. This independent extension does not include or redistribute USFOS software or DNV manuals.