在 VS Code 中练习 Pintia 公共题集
- English Document | 中文文档
⬇️ 安装 Pintia: Visual Studio Marketplace, VS Code or Install from VSIX
-
只需在
Pintia Explorer
中点击Sign in PTA
,即可登录PTA。(目前,只支持微信二维码登录)。 -
你也可以使用以下命令来登录/退出。
- Pintia: Sign In
- Pintia: Sign Out
-
点击问题,即可查看问题描述
⭐ 注意:
-
您可以通过修改配置项
pintia.workspaceFolder
来指定存储题目文件的工作区路径。默认值为 $HOME/.pintia/codes -
您可以通过
Pintia: Change Default Language
命令来更换默认语言
-
-
该插件支持2个编辑器快捷键
Submit
:向 Pintia 提交你的答案Test
:用 自定义的测试样例 或 默认样例 测试你的答案Preview
: 在源文件中打开习题预览
- 您可以把您的代码放在
@pintia code=start
和@pintia code=end
之间(在编辑区中输入ptacode
来快速添加) - 另外,您可以把您的 自定义测试样例 放在
@pintia test=start
和@pintia test=end
之间(输入ptatest
可以快速添加),并点击Test custom sample
以快速测试您的代码。
⭐ Note: 在点击
submit
或test
提交你的代码时,只有在包裹在@pintia code=start
和@pintia code=end
之间的代码会被提交给 Pintia 判题器。
点击 Pintia 视图顶部的 搜索
图标,或者打开 命令面板,使用 Pintia: Search Problem
快捷命令。
你可以在代码编辑区键入 ptanote
生成笔记块,在其中输入你的笔记,下次预览题目时,笔记会以 Markdown 的形式解析并预览。
⭐ Note: 笔记是随着代码一起提交到 拼题A 的,并不存在本地。提交代码后,重新点击编辑器的
Preview
,或者下次预览本题时,会显示你的笔记。
你可以在题目集中点击右侧的按钮收藏题目。该功能不依赖于官方的服务,因此只能将收藏的题目存储在本地。后续会考虑使用其他方式实现数据的同步。
你可以在代码编辑器中输入以下前缀来快速生成相应的代码块,如下所示。
前缀 | 说明 |
---|---|
ptacode | 把你的自定义测试样例放在 @pintia code=start/end 中,当你点击 Submit 按钮时,插件会自动识别它 |
ptatest | 将你的自定义测试样例放在 @pintia test=start/end 中,当你点击 Test 按钮时,插件会自动识别它 |
ptacpp_stdc++ | 获取头文件为 bits/stdc++.h 的 cpp 模板 |
ptacpp_iostream | 获取带有 iostream 头文件的 cpp 模板 |
ptaclang | 获取带有头文件 stdio.h 的 clang 模板 |
ptajava_buffer | 获取带有 BufferReader 的 java 模板 |
ptajava_scanner | 获取带有 Scanner 的 java 模板 |
ptanote | 生成 @pintia note=start/end 笔记块 |
使用 Ctrl+Shift+P
(in Windows) 或 Command+Shift+P
(in Mac)打开命令面板并输入 pintia
可快速使用插件的相关命令。
设置名称 | 描述 | 默认值 |
---|---|---|
pintia.showLocked |
指定是否显示锁定的问题(一些题目集需要验证用户的读者码后方可提交) | true |
pintia.defaultLanguage |
指定用于解题的默认语言。支持的语言有C (gcc) , C++ (g++) , C (clang) , C++ (clang++) , Java (javac) , Python (python2) , Python (python3) , Ruby (ruby) , Bash (bash) , Plaintext (cat) , CommonLisp (sbcl) , Pascal (fpc) , Go (go) , Haskell (ghc) , Lua (lua) , Lua (luajit) , C# (mcs) , JavaScript (node) , OCaml (ocamlc) , PHP (php) , Perl (perl) , AWK (awk) , D (dmd) , Racket (racket) , Vala (valac) , Visual Basic (vbnc) , Kotlin (kotlinc) , Swift (swiftc) , Objective-C (gcc) , Fortran95 (gfortran) , Octave (octave-cli) , R (R) , ASM (nasm. sh) , Rust (rustc) , Scala (scalac) , Python (pypy3) , SQL (SQL) |
C++ (g++) |
pintia.workspaceFolder |
指定工作区文件夹的路径,以存储代码文件 | "" |
pintia.enableStatusBar |
指定是否显示 Pintia 状态栏 | true |
pintia.editor.shortcuts |
指定编辑器中的自定义快捷方式。目前仅支持 Submit , Test , Preview |
["Submit","Test", "Preview"] |
pintia.paging.pageSize |
当问题集过大时,是否对问题列表进行分页。当pageSize为0表示不分页 | 100 |
pintia.autoCheckIn |
指定当 Pintia 插件被激活时,是否自动签到 Pintia 的教育商店 | false |
pintia.searchIndex.ignoreZOJ |
指定搜索题目时,是否忽略 ZOJ Problem Set |
true |
pintia.searchIndex.ignoreLockedProblemSets |
指定搜索题目时,是否忽略未解锁的题集 | true |
pintia.searchIndex.autoRefresh |
指定是否在插件被激活时,自动刷新题目搜索索引 | false |
pintia.autoCreateProblemSetFolder |
指定创建题目源文件时是否自动创建其习题集文件夹并将源代码文件放入相应的文件夹中 | true |
如果问题仍然无法解决,可随时创建一个新的Issue。
- Pintia Extension 的功能设计参考了 LeetCode。