VB Helper
VB.NET / GPL / PAC 파일을 VS Code에서 편하게 개발할 수 있도록 도와주는 확장입니다.
Brooks Automation PreciseFlex 로봇 제어 프로그래밍에 특화된 GPL/PAC 언어도 완전 지원합니다.
지원 파일 형식
| 확장자 |
언어 |
설명 |
.vb |
VB.NET |
Visual Basic .NET 소스 파일 |
.GPL / .gpl |
GPL Script |
Brooks Automation Guidance Programming Language |
.pac / .PAC |
PAC Script |
PreciseFlex 컨트롤러 설정 파일 |
주요 기능
🎨 문법 강조 (Syntax Highlighting)
.vb, .GPL, .pac 파일을 열면 키워드, 타입, 주석, 문자열, 연산자가 자동으로 색상 구분됩니다.
- VB.NET: 키워드 / 타입 / 한정자 / 연산자 / 문자열 / 주석 강조
- GPL:
Move, Signal, Robot, Controller 등 내장 클래스 및 메서드 강조
- PAC:
DataID, [Section], 키-값 쌍 강조
💡 IntelliSense
Hover 정보
심볼 위에 마우스를 올리면 표시됩니다.
- GPL 내장 클래스/메서드: 함수 시그니처 + 한국어 설명
- 사용자 정의 심볼: 선언 위치 + 참조된 모든 위치 (파일명 + 줄 번호)
Signature Help
Move.Loc( 처럼 함수 호출 괄호를 열면 파라미터 힌트가 자동 표시됩니다.
자동완성 (Member Completion)
. 입력 시 해당 클래스의 멤버 목록이 자동으로 표시됩니다.
| 입력 |
표시 목록 |
Move. |
Loc, Approach, Arc, Circle, Delay, Rel, WaitForEOM … |
Signal. |
DIO, AIO |
Controller. |
SleepTick, PowerEnabled, ShowDialog, PDb … |
Robot. |
Attached, HomeAll, WhereAngles … |
Thread. |
Sleep, Start, Stop, Abort … |
Math. |
Abs, Sqrt, Sin, Cos, Atan2, PI … |
Console. |
Write, WriteLine |
Inlay Hints (인라인 타입 힌트)
Dim x = 42 처럼 타입 생략 시 : Integer 를 인라인으로 표시합니다.
🔍 탐색
| 기능 |
단축키 |
설명 |
| Go to Definition |
Ctrl+Click |
선언 위치로 이동 |
| Go to Implementation |
Ctrl+F12 |
Interface / MustOverride 구현체로 이동 |
| Find All References |
Shift+F12 |
워크스페이스 전체에서 참조 위치 검색 |
| Workspace Symbol Search |
Ctrl+T |
전체 파일의 Sub / Function / Class 검색 |
| Call Hierarchy |
Shift+Alt+H |
함수 호출 트리 (누가 이걸 부르는지 / 이게 뭘 부르는지) |
| Smart Selection |
Shift+Alt+→ |
단어 → 줄 → 블록 → 전체 순으로 선택 확장 |
✏️ 편집
| 기능 |
단축키 |
설명 |
| Rename Symbol |
F2 |
워크스페이스 전체에서 심볼 이름 일괄 변경 |
| Format Document |
Shift+Alt+F |
들여쓰기 자동 정리 |
| On Type Formatting |
Enter |
줄 바꿈 시 자동 들여쓰기 |
| Code Actions |
Ctrl+. / 💡 |
아래 Quick Fix 제안 표시 |
Code Actions (Quick Fix) 목록
Dim x = 패턴에 As Object 추가 제안
- Sub / Function 위에 문서 주석 템플릿 삽입 (
''' <summary>)
- 선택 영역을 Try/Catch로 감싸기
- 진단 오류 발생 시 Microsoft Docs 온라인 검색 링크
📊 Code Lens
Sub / Function / Class / Module 위에 참조 횟수가 표시됩니다.
클릭하면 참조 목록 패널이 열립니다.
🔖 코드 접기 (Folding Range)
Sub, Function, Class, Module, If, For, While, With, Try, Select Case, #Region 블록을 접을 수 있습니다.
🔨 빌드 / 실행
| 기능 |
단축키 |
설명 |
| 빌드 |
Ctrl+Shift+F6 |
dotnet build 실행 |
| 실행 |
Ctrl+Shift+F5 |
dotnet run 실행 |
| 저장 시 자동 진단 |
파일 저장 시 |
빌드 결과를 에디터에 물결선으로 표시 |
VS Code Task 통합
Ctrl+Shift+P → Tasks: Run Task → VB 빌드 / VB 실행 선택 가능합니다.
📟 Status Bar
에디터 우하단에 현재 커서가 위치한 Sub / Function 이름이 표시됩니다.
📝 코드 스니펫
VB.NET 스니펫
| 단축어 |
삽입 내용 |
sub |
Sub / End Sub |
fun |
Function / End Function |
asub |
Async Sub |
afun |
Async Function |
cls |
Class / End Class |
mod |
Module / End Module |
if / ifs |
If / ElseIf / Else / End If |
for |
For ... Next |
foreach |
For Each ... Next |
while |
While / End While |
select |
Select Case / End Select |
try |
Try / Catch / Finally |
prop |
Property (Getter/Setter) |
dim |
Dim 변수 선언 |
list |
List(Of T) 선언 |
dict |
Dictionary 선언 |
cw |
Console.WriteLine |
mb |
MessageBox.Show |
GPL 로봇 스니펫
| 단축어 |
삽입 내용 |
gplmain |
GPL Module + MAIN 전체 템플릿 |
moveloc |
Move.Loc(loc1, pf1) |
approach |
Move.Approach(loc1, pf1) |
movearc |
Move.Arc(loc1, loc2, pf1) |
moverel |
Move.Rel(loc1, pf1) |
movedelay |
Move.Delay(1.0) |
waitforeom |
Move.WaitForEOM() |
trigger |
Move.Trigger(10001, True, loc1) |
loc |
Dim loc1 As New Location |
prof |
Location + Speed + Straight 프로파일 설정 |
refframe |
Dim rf1 As New RefFrame |
dioin |
Signal.DIO 읽기 |
dioout |
Signal.DIO 쓰기 |
aioin |
Signal.AIO 읽기 |
waitdio |
DIO 신호 대기 루프 |
sleeptick |
Controller.SleepTick(10) |
dialog |
Controller.ShowDialog(...) |
attach |
Robot.Attached = 1 |
home |
Robot.HomeAll(1) |
thread |
Thread 생성 + Start |
threadsleep |
Thread.Sleep(100) |
trycatch |
Try / Catch with Console.WriteLine |
tcpclient |
TCP 클라이언트 연결 템플릿 |
conveyor |
컨베이어 트래킹 RefFrame 설정 |
cwl |
Console.WriteLine(...) |
설정
settings.json에서 아래 항목을 조정할 수 있습니다.
{
"vbHelper.dotnetPath": "dotnet",
"vbHelper.buildArgs": "",
"vbHelper.runArgs": "",
"vbHelper.enableDiagnostics": true
}
| 항목 |
기본값 |
설명 |
vbHelper.dotnetPath |
"dotnet" |
dotnet CLI 경로 |
vbHelper.buildArgs |
"" |
dotnet build 추가 인수 |
vbHelper.runArgs |
"" |
dotnet run 추가 인수 |
vbHelper.enableDiagnostics |
true |
저장 시 자동 빌드 및 오류 표시 여부 |
개발자
kimh
| |