ConsoleLog
quickly print console.log() in your code and free-hand
Install / Use
/learn @Littledogdudu/ConsoleLogREADME
Console Log README
ConsoleLog能够通过光标所在位置快速打印console.log语句,并在结束调试后一键删除
更适用于WebStorm和IDEA的前端开发插件
默认的快捷键:
- Alt+1: 插入 console.log()
- Alt+2: 删除所有 console.log()
- Alt+Shift+1: 注释掉所有 console.log()
- Alt+Shift+2: 解注释所有 console.log()
键盘映射名称:
- Alt+1: Console Log Plugin: Insert Console Log Message
- Alt+2: Console Log Plugin: Delete All Console Log Message
- Ctrl+Alt+1: Console Log Plugin: Insert Console XXX Template Message
- Alt+Shift+1: Console Log Plugin: Comment All Console Log Message
- Alt+Shift+2: Console Log Plugin: Uncomment Console Log Message
已发布功能
基础功能
- [x] 哈喽,你可以通过WebStorm的插件设置自定义你的打印模板哦,但是要注意尽量与众不同一点哦,不然可能会误删你不想删掉的console.log语句哦
- [x] 智能地插入打印语句,包智能的,嘿嘿🤭
- [x] 可以在插件设置中自行设置插入打印语句后光标是否自动跟随到打印语句末尾(默认启用)
- [x] 可以在插件设置中自行设置字符串使用双引号还是单引号包含(默认启用双引号)
- [x] 存在选中文本时(支持多光标区域选中)仅在选中区域内删除/注释/解注释(默认启用)
- [x] 除了单引号/双引号,加入反引号(`)的支持
无变量打印功能(默认不启用)
- [x] 不选中文本时生成判断数据流向的语句及删除/注释/解注释的行为
- [x] 插入后自动修复行号(为避免过分的性能开销,后续也不会再扩展,比如删除时,代码变更时)
- [x] 提供修复行号功能(不默认设置快捷键,需要自行设置)
侧边栏功能
- [x] 可以在插件设置中自行设置是否启用侧边栏,侧边栏显示当前打开文件的所有打印表达式(默认启用)
- [x] 侧边栏支持点击定位到对应行的打印语句
- [x] 侧边栏支持查询 所有打印表达式/不包含注释的打印表达式/仅符合插件规范格式的打印表达式/仅符合插件无变量生成规范格式的打印表达式
- [x] 侧边栏添加单击删除/跳转切换行为
可在github或者jetbrain marketplace上下载对应心仪版本
1.1.8版本是插件最主要功能的最佳版本,包括多光标支持、选中区域删除/注释/解注释的版本(未加入侧边栏的版本)
1.2.3版本是当前加入侧边栏的支持的最佳版本
开发者
环境配置:JDK17和Gradle8.10;master-Java11分支(尚未加入侧边栏功能)可支持使用JDK11或JDK8开发,使用Gradle7.2
| 分支 | JDK版本 | Gradle版本 | 兼容的IDE版本 | |---------------|---------|----------|-----------| | master | 17 | 8.10 | 2022.3及以上 | | master-Java11 | 8或11或17 | 7.2 | 2020.3及以上 |
运行这个插件需要把这个local方法的参数修改为你的WebStorm文件路径哦

在一些网络下,gradle下载依赖可能出现失败的情况,
抱歉,暂时不完全支持jsp项目(注释和解注释无法使用),该插件插入时可能只能插入在下一行,在没有语法错误的情况下,删除理论可以使用
鸣谢
- 由igor.pavlenko提出PSI JS类型强制转换问题的bug
- 由yan.wt提出新的功能:支持在格式化字符串中添加文件名和行号
- 由JiGewusuoweiju提出新的功能:期望未选中文本的时候,依然可以打印默认信息
- 由1327947094提出新的功能:文件相对路径占位
- 由cscsyiku123提出新功能:添加 console.log, dir, table和其他选项(快捷键:Ctrl+Alt+1,使用模板选择)
- 由IFnGSiYu提出新的功能:单击侧边栏项跳转/删除的侧边栏按钮
灵感来源于vscode插件 turbo console log
有新的主意可以在github上fork或提出issue或者发送到我的邮箱2378459785@qq.com哦
如果觉得插件对你的帮助很大很大,希望github点个star,真的感谢!
设置项简介

基础设置
自定义打印语句
插入语句
你可以通过输入下面【符号】列对应的占位符来实时获取文本中对应的变量名/方法名/行号/文件名
例如默认为:🚀 ~ ${methodName} ~ ${variableName}:
你可以修改为:🚀 ~ ${filePath}/${fileName} ~ L(${lineNumber}) ~ ${methodName} ~ ${variableName}:
未选中变量时的默认行为(默认关闭行为:什么也不做)
当没有可打印变量时生成默认插入语句内容
默认不启用:当光标处没有可打印变量时,什么也不做
启用后:当光标处没有可打印变量时,插入的打印语句将使用下方填写的默认插入语句模板
默认插入语句
同插入语句,但是仅在启用上方的【当没有可打印变量是生成默认插入语句内容】按钮且当前光标没有可打印变量时调用
当没有可打印变量时插入后光标自动跟随到log表达式末尾
默认不启用(建议):当没有可打印变量时,插入的打印语句将自动跟随到生成的console.log的末尾
启用后:插入的打印语句将自动跟随到生成的console.log的末尾
已知bug:当光标上方存在多行空行时使用此功能不仅会删除多余的空行,而且会导致打印的行号停留在光标之前的行,因为代码格式化导致的删除的关系,这个行号不正确
LiveTemplate
一键删除、注释或解注释时同样作用于console.table
默认启用:当使用一键删除、一键注释或一键解注释功能时,也可以作用于console.table
禁用后:当使用一键删除、一键注释或一键解注释功能时将不会对编辑器中的所有console.table进行操作
console.table仅支持data一个入参,因没有额外标识识别,故一键删除、注释和解注释无法识别插件生成还是手动添加
占位符设置
${fileName}
打印的文件名是否需要后缀名
默认启用:${fileName}占位符将会被替换为生成的console.log所在的文件名,且包含后缀名
禁用后:${fileName}占位符将会被替换为生成的console.log所在的文件名,但不在包含后缀名
${filePath}
文件所在路径是否根据基准文件名称截断
默认启用:${filePath}占位符将会被替换为生成的console.log所在文件的相对路径,且根据【文件所在路径基准文件夹名称】截断 禁用后:${filePath}占位符将会被替换为生成的console.log所在文件相对路径
文件所在路径基准文件夹名称
默认为views:即${filePath}占位符将会根据填写内容截断
例如:当前所在相对路径为 src/views/blog/index.vue,则根据views截断后获得:blog/index.vue
多个文件夹名称可通过逗号分隔
文件所在路径分隔符
路径分隔符
文件所在路径是否包含基准文件夹名称
默认启用:当前所在相对路径为 src/views/blog/index.vue,则根据views截断后获得:views/blog/index.vue 禁用后:当前所在相对路径为 src/views/blog/index.vue,则根据views截断后获得:blog/index.vue
${lineNumber}
是否使用打印变量所在行号
默认不启用:${lineNumber}占位符将会被替换为生成的console.log所在的行号
启用后:${lineNumber}占位符会被替换为需要打印的变量所在的行号
是否开启插入自动修复行号
默认不启用:${lineNumber}占位符不会自动更新,需手动更新
启用后:${lineNumber}占位符会在插入console.log语句时自动更新为正确行号
提升选中文本时的可操作性
选中文本时仅在选中区域内删除/注释/解注释
默认启用:当选中文本时,删除/注释/解注释功能将仅在选中区域内生效
禁用后:无论是否选中文本,删除/注释/解注释功能都会在整个文件内生效
格式设置
插入后光标后自动跟随到log表达式末尾
默认启用:插入后光标自动跟随到生成的console.log表达式末尾
禁用后:光标停留在原本位置
字符串常量引用符号
使用单引号/双引号/反引号
单选组,更改包裹console.log表达式文本所使用的引号类型
侧边栏设置

侧边栏顶部查询选项设置按钮
展示/隐藏注释项(眼睛图标)
默认启用:侧边栏将查询所有打印表达式,包含注释项 禁用:侧边栏将查询所有打印表达式,不包含注释项
启用/禁用针对性查找(小火箭图标/禁用图标)
默认启用:侧边栏将查询所有符合插件生成规范的打印表达式 禁用:侧边栏将不会筛选符合插件生成规范的打印表达式
启用/禁用无变量针对性查找(>>>图标/禁用图标)
默认启用:侧边栏将查询所有符合无变量选中时插件生成的console.log表达式
禁用:侧边栏将不会筛选无变量选中时插件生成的console.log表达式
启用/禁用标签查找(书签图标)
启用:根据设置中设置的标签项继续查找,标签项为1级,表达式为2级(缩进2字符)
默认禁用:禁用标签查找
单击侧边栏项跳转/删除
启用:此时单击侧边栏下方的项会跳转到该项所对应的打印表达式 默认禁用:此时单击侧边栏下方的项会删除该项所对应的打印表达式
侧边栏基础设置
是否启用侧边栏(重启生效)
默认启用:启用侧边栏
禁用:禁用侧边栏
此功能仅在设置应用后重启才会生效
侧边栏字体大小
修改侧边栏搜索出来的每行表达式的字体大小
文件类型生效设置
侧边栏查找不限定文件类型
默认启用:对当前打开的任何文件类型的文件都会启用侧边栏查找打印表达式
禁用后:仅对当前打开的文件为选中文件类型的文件才会执行查找并显示在侧边栏
侧边栏查找限定文件类型
该四个文件类型选项仅在【侧边栏查找不限定文件类型】选项禁用时可选,可选中多个文件类型
选中Vue后,检查当前文件类型为Vue的文件则会查询该文件所有console.log语句
选中JavaScript后,检查当前文件类型为JavaScript的文件则会查询该文件所有console.log语句
选中TypeScript后,检查当前文件类型为TypeScript的文件则会查询该文件所有console.log语句
选中Text后,检查当前文件为普通文本则会查询该文件所有console.log语句
侧边栏按钮设置
侧边栏搜索设置
首次启动侧边栏时是否默认启用注释项查询
默认启用:每次打开IDE时,侧边栏将默认启用注释项查询按钮 禁用:每次打开IDE时,侧边栏将默认禁用注释项查询按钮
首次启动侧边栏时是否默认启用针对性查询
默认启用:每次打开IDE时,侧边栏将默认启用针对性查询按钮 禁用:每次打开IDE时,侧边栏将默认禁用针对性查询按钮
首次启动侧边栏时是否默认启用无变量针对性查询
默认启用:每次打开IDE时,侧边栏将默认启用无变量针对性查询按钮 禁用:每次打开IDE时,侧边栏将默认禁用无变量针对性查询按钮
首次启动侧边栏时是否默认启用标签查找
启用后:每次打开IDE时,侧边栏将默认启用侧边栏标签查找(标签项在下面的设置项可以进行设置)
默认禁用:侧边栏不会默认启用标签查找(也可通过侧边栏顶部的【启用标签查找】临时更改)
首次启动侧边栏时单击侧边栏默认跳转还是删除(启用则默认跳转,禁用则默认删除)
默认启用:每次打开IDE时,侧边栏将默认启用侧边栏项单击跳转按钮 禁用:每次打开IDE时,侧边栏将默认启用侧边栏项单击删除按钮
标签设置
侧边栏自定义标签查询项
自定义侧边栏查找的标签项,使用分号分割每个标签项,支持正则表达式
单击侧边栏项时默认行为
单击侧边栏是否删除标签
启用:侧边栏单击侧边栏的标签项时,可以删除对应标签项 默认禁用:侧边栏单击侧边栏的标签项时,不可以删除对应标签项(单击标签项无反应)
<!-- Plugin description -->
ConsoleLog can quickly print console.log() in your code and free-hand
Default keymap as following:
- Alt+1: Console Log Plugin: Insert Console Log Message
- Ctrl+Alt+1: Console Log Plugin: Insert Console XXX Template Message
- Alt+2: Console Log Plugin: Delete All Console Log Message
- Alt+Shift+1: Console Log Plugin: Comment All Console Log Message
- Alt+Shift+2: Console Log Plugin: Uncomment Console Log Message
Release Feature
basic feature
- [x] you can go to settings to set what message you want to show
- [x] Intelligently insert print statements, hei hei 🤭
- [x] You can set whether the cursor automatically follows to the end of the print statement after inserting the print statement in the plug-in settings (enabled by default)
- [x] You can set whether the string is included in double or single quotes in the plugin settings (double quotes are enabled by default)
- [x] When selecting Chinese book, delete annotation only in the selected area (enabled by default)
- [x] In addition to single and double quotation marks, support for backticks (') has been added
no variable feature(disabled default)
- [x] When the variable is not selected, a statement that determines the direction of data flow is generated, and the act of deleting/commenting/uncommenting is generated
- [x] Automatically repairs line numbers after insertion (in order to avoid excessive performance overhead, they will not be extended in the future, such as when deleting or changing code)
- [x] Provide the function of repairing line numbers (shortcut keys are not set by default, you need to set them by yourself)
sidebar feature
- [x] You can set whether to enable the sidebar in the plug-in settings, and the sidebar displays all print expressions of the currently open file (enabled by default)
- [x] The sidebar supports clicking on the print statement that is located to the corresponding line
- [x] The sidebar supports queries All print expressions that do not contain comments are only in the format of the plug-in specification
if you want to run this project, please modify the local path.

Sorry, jsp not support
You can use the plugin on html code, but be careful: the statement is not removed if there is a syntax error after inserting the expression, because the PSI tree structure is chaotic at this point
Thanks List
- Bug report on PSI JS type coercion issue by igor.pavlenko
- New feature proposed by yan.wt: support for adding file names and line numbers in formatted strings
- New feature proposed by JiGewusuoweiju: When the variable is undefined near the cursor, a statement that determines the direction of data flow is generated, and the act of deleting/commenting/uncommenting is generated
- New feature proposed by 1327947094: placeholder for file relative path
- New feature proposed by cscsyiku123:Added console.log, dir, table and other options
- New feature proposed by IFnGSiYu:sidebar button to ju
