Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>TSL (Tinysoft Statistical Analysis Language) Language SupportNew to Visual Studio Code? Get it now.
TSL (Tinysoft Statistical Analysis Language) Language Support

TSL (Tinysoft Statistical Analysis Language) Language Support

mytsl

|
51 installs
| (0) | Free
Language support for TSL (Tinysoft Statistical Analysis Language)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TSL Language Support for VS Code

VS Code 的 TSL (Tinysoft Statistical Analysis Language) 语言支持扩展,提供完整的语法高亮、智能代码补全、代码诊断、格式化、远程资源浏览与执行等功能。

功能特性

🎯 语言支持

  • 文件扩展名: .tsl, .tsf, .stm
  • 语法高亮: 完整的 TSL 语法高亮支持
  • 语义高亮: 根据代码语义提供精确的着色

💡 智能功能

1. 代码补全 (Auto Completion)

  • 基于上下文的智能代码补全
  • 内置函数、关键字、类型提示(支持大小写前缀搜索,包括小写函数名如 pn_date)
  • Unit 系统支持(Uses 语句自动补全)
  • 触发字符: ., (, ,, 空格, [

2. 悬停提示 (Hover)

  • 函数签名和文档提示
  • 变量类型信息
  • 快速预览定义

3. 跳转到定义 (Go to Definition)

  • 函数和过程定义跳转
  • 变量声明跳转
  • 类成员跳转
  • 跨文件导航(支持 Unit 系统)
  • 支持直接跳转到远程服务器上的 .tsf 函数文件(通过虚拟文件系统 tslfs://)

4. 查找引用 (Find References)

  • 查找符号的所有引用位置
  • 区分读取和写入引用

5. 重命名 (Rename)

  • 安全的符号重命名
  • 跨文件重命名支持
  • 预览更改功能

🔍 代码分析

1. 实时诊断 (Diagnostics)

  • 语法错误检测
  • 语义错误提示
  • 代码问题警告
  • 实时错误标记

2. 代码折叠 (Folding)

  • 基于语义的代码折叠
  • 支持函数、过程、类、Begin-End 块
  • 自定义折叠区域

3. 文档符号 (Document Symbols)

  • 文件大纲视图
  • 快速导航到函数/变量/类
  • 符号分类显示

4. 工作区符号 (Workspace Symbols)

  • 跨文件符号搜索
  • 支持正则表达式搜索
  • 快速打开符号定义

🎨 代码美化

1. 代码格式化 (Formatting)

  • 完整的文档格式化 (Shift+Alt+F)
  • 选中范围格式化
  • 保存时自动格式化(需配置)
  • 关键字大小写规范化

2. 内联提示 (Inlay Hints)

  • 参数名称提示
  • 类型推断提示
  • 可配置显示选项

🌐 远程服务器与资源浏览器

扩展提供完整的远程 TSL 服务器连接和资源管理功能。

1. 远程服务器连接

  • 在 VS Code 左侧活动栏点击 TSL 图标
  • 远程服务器 面板:添加、编辑、删除远程 TSL 服务器
  • 支持配置服务器地址、端口、用户名、密码
  • 登录后可浏览和管理服务器上的函数资源

2. 资源浏览器 (TSL Resource Explorer)

  • 按函数类型分组:函数、过程、类、界面、用户函数
  • 每个类型下按分类(flName)组织,支持一个函数属于多个分类
  • 实时显示各分组下的函数数量
  • 支持搜索函数(防抖延迟可配置)
  • 支持显示/隐藏系统函数(只读)

3. 同步状态指示

  • 切换资源类型时,状态栏会显示同步进度
  • 扩展会轮询服务器后台同步状态,直到真正完成
  • 同步完成后,已打开的文件会自动刷新为最新内容

4. 虚拟文件系统 (tslfs://)

  • 远程函数以虚拟文件形式在编辑器中打开
  • 统一的 URI 格式(不含分类路径段):tslfs://<服务器>/<类型>/<函数名>.tsf
  • 支持直接编辑并保存上传到服务器
  • 支持下载到本地工作区

5. 新建函数

  • 在 用户函数 分类上右键,选择 新建...
  • 输入函数名称和选择/输入分类名称
  • 新建的函数会自动创建并打开编辑

6. 执行管理

  • 执行管理 面板查看远程执行历史
  • 支持终止正在执行的远程任务
  • 支持清空执行记录

⚙️ 配置选项

TSL 库路径配置

在 VS Code 设置中配置 TSL 安装路径:

  1. 打开设置 (Ctrl+,)
  2. 搜索 "TSL"
  3. 配置以下选项:
设置项 默认值 (Linux) 默认值 (Windows) 说明
tsl.libPath /opt/tinysoft/tsl C:/Program Files/Tinysoft/Analyse.NET TSL 库目录路径
tsl.executablePath /opt/tinysoft/tsl/TSL C:/Program Files/Tinysoft/Analyse.NET/TSL.exe TSL 可执行文件路径

格式化配置

设置项 类型 默认值 说明
tsl.formatting.keywordCase enum lowerCase 关键字大小写:lowerCase、titleCase、upperCase、preserve
tsl.formatting.indentWidth number 2 缩进宽度(空格数):2、4
tsl.formatting.useTabs boolean false 使用制表符代替空格进行缩进
tsl.formatting.insertFinalNewline boolean true 在文件末尾插入换行符
tsl.formatting.collapseArrays boolean true 将单列数组折叠为单行(多维 key:value 数组保持多行)

远程服务器配置

设置项 类型 默认值 说明
tsl.remote.servers array [] 远程服务器列表(含 name, host, port, username, password)
tsl.remote.defaultServer string null 默认服务器名称

资源浏览器配置

设置项 类型 默认值 说明
tsl.resourceExplorer.showSystemFunctions boolean false 显示系统函数(只读)
tsl.resourceExplorer.defaultDownloadPath string ${workspaceFolder}/funcext 默认下载路径
tsl.resourceExplorer.searchDelay number 300 搜索防抖延迟(毫秒)
tsl.resourceExplorer.cacheExpiry number 300 函数列表缓存过期时间(秒)

其他配置

设置项 类型 默认值 说明
tsl.maxIndexedFiles number 2000 最大索引文件数
tsl.autoDetect boolean true 自动检测 TSL 安装路径
tsl.runScriptArgs array [] 运行脚本时的默认参数
tsl.runScriptWorkingDir string null 运行脚本时的工作目录
tsl.server.logFile string null LSP 服务器日志文件路径

快速配置命令:

  • 按 Ctrl+Shift+P 打开命令面板
  • 输入 "TSL: Configure TSL Library Path"
  • 输入你的 TSL 安装路径

环境变量:

VS Code 启动 DAP 时会自动设置对应的环境变量:

  • Linux: LD_LIBRARY_PATH 和 TSL_LIB_PATH
  • Windows: PATH 和 TSL_LIB_PATH

也可以在系统环境变量中预设 TSL_LIB_PATH:

# Linux
export TSL_LIB_PATH=/opt/tinysoft/tsl

# Windows (PowerShell)
$env:TSL_LIB_PATH = "C:/Program Files/Tinysoft/Analyse.NET"

🐛 调试支持 (Debugging)

TSL 语言支持扩展提供完整的调试功能,支持在 VS Code 中调试 TSL 脚本。

1. 启动调试

  1. 打开要调试的 .tsl 文件
  2. 按 F5 或点击左侧调试图标
  3. 选择 "Debug TSL Script" 或在命令面板输入 "Debug: Start Debugging"

2. 调试配置

快速创建:

  1. 点击左侧调试图标(🐛)
  2. 点击顶部的 "create a launch.json file" 链接
  3. 选择 "TSL" 环境

或者按 Ctrl+Shift+P → 输入 "Debug: Add Configuration" → 选择 "TSL"

手动配置:

在 .vscode/launch.json 中配置调试选项:

{
    "type": "tsl",
    "request": "launch",
    "name": "Debug TSL Script",
    "program": "${file}",
    "console": "integratedTerminal",
    "stopOnEntry": true,
    "tslServerIp": "127.0.0.1",
    "tslServerPort": 8080,
    "tslExecutable": "C:/Program Files/Tinysoft/Analyse.NET/TSL.exe",
    "tslWorkingDir": "C:/path/to/your/tsl/files",
    "tslLibPath": "C:/Program Files/Tinysoft/Analyse.NET"
}

配置说明:

设置项 默认值 说明
program ${file} 要调试的 TSL 文件路径
console integratedTerminal 控制台类型:integratedTerminal(集成终端)、externalTerminal(外部终端)、internalConsole(调试控制台)
stopOnEntry true 是否在入口处停止
tslServerIp 127.0.0.1 TSL 服务器 IP 地址
tslServerPort 8080 TSL 服务器端口
tslExecutable 平台默认 TSL 可执行文件路径
tslWorkingDir - TSL 工作目录
tslLibPath - TSL 库路径(用于查找 .tsf 文件)

3. 调试功能

  • 断点: 在代码行左侧点击设置断点
  • 单步执行: F10 (Step Over), F11 (Step In), Shift+F11 (Step Out)
  • 继续: F5 继续执行
  • 变量查看: 在调适面板查看局部变量和全局变量
  • 调用堆栈: 查看当前调用堆栈,支持跳转到 .tsf 函数文件
  • 监视: 添加表达式监视

4. .tsf 文件调试

  • 断点设置: 在非启动的 .tsf 文件上设置断点时,会自动使用文件名作为函数名
  • 调用栈导航: 当调试暂停在 .tsf 函数中时,调用堆栈会显示函数名,点击可以跳转到对应的 .tsf 文件
  • 文件搜索顺序:
    1. 当前文件目录
    2. tslWorkingDir 配置的目录
    3. tslLibPath 配置的目录(会在其 func_ext 子目录下递归搜索)
    4. 已打开的 .tsf 文件

📋 代码片段 (Snippets)

提供丰富的代码片段,快速生成常用代码结构:

前缀 描述
function 函数定义模板
procedure 过程定义模板
if If 语句
ifelse If-Else 语句
for For 循环
while While 循环
repeat Repeat-Until 循环
case Case 语句
tryexcept Try-Except 块
tryfinally Try-Finally 块
class 类定义模板
select SQL Select 语句
vselect SQL VSelect 语句
array 数组声明
forarray 数组遍历循环
unit Unit 模块模板
property 属性声明
marketdata 股票行情数据查询
infodata 财务数据查询

安装

从 VSIX 安装

  1. 下载 vscode-tsl-0.7.0.vsix 文件
  2. 在 VS Code 中打开扩展视图 (Ctrl+Shift+X)
  3. 点击右上角的 ... 菜单
  4. 选择 "从 VSIX 安装..."
  5. 选择下载的 .vsix 文件

从 Marketplace 安装

搜索 "vscode-tsl" 或者 "TSL Language Support" 并安装。

反馈与支持

如有问题或建议,请提交到 GitHub Issues: https://github.com/weigj/vscode-tsl/issues


享受编码! 🚀

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft