开始使用WebStorm
目录
- 开始使用WebStorm
- 打开、检出或创建项目
- 打开项目
- 从版本控制系统检出项目的步骤
- 创建一个空的WebStorm项目
- 在项目中创建新文件的步骤
- 熟悉WebStorm用户界面
- 找到你要找的代码
- 查找项目符号的调用
- 按名称查找项目符号
- 搜索文本片段
- 转到符号声明
- 历史记录
- 补全代码
- 实时检查并修复代码
- 重构代码
- 运行并调试应用程序
- 运行应用程序
- 开始调试
- 遵循代码风格标准
- 对源代码使用版本控制
- 自定义环境
- 外观
- 编辑器
- 快捷键
开始使用WebStorm
WebStorm是JetBrains公司出品的集成开发环境(IDE)。它包含了JavaScript和TypeScript开发所需的一切。WebStorm还可以轻松处理有挑战性的任务。无论是解决Git合并冲突还是在多个文件中重命名符号,只需点击几下即可。
打开、检出或创建项目
WebStorm中的项目是一个文件夹,其中包含源代码、库和工具(例如,在node_modules子文件夹中)以及各种应用程序配置文件(例如,package.json或 .eslintrc)。
在WebStorm中打开文件夹后,会自动创建 .idea文件夹,WebStorm在其中存储内部配置,例如:项目代码样式或版本控制系统的配置设置。
你可以从WebStorm欢迎屏幕中打开、检出和创建项目。
打开项目
在欢迎屏幕上,单击Open,然后在打开的对话框中选择项目文件夹。
从版本控制系统检出项目的步骤
- 在欢迎屏幕上单击从VCS获取(Get from VCS)。
或者,从主菜单中选择“ File | New | Project from Version Control”,或“VCS | Get from Version Control”,或“Git | Clone”。
在主菜单中,你会看到WebStorm支持所有版本控制系统,而不是只支持Git。例如,Mercurial或Perforce。 - 在打开的对话框中,从列表中选择你使用的版本控制系统,并指定要从中检出程序源代码的存储库。
创建一个空的WebStorm项目
- 在欢迎屏幕上单击“创建新项目(Create New Project)”,或从主菜单中选择“File | New | Project”。会打开“新建项目”对话框。
- 在左侧窗格中,选择“空项目(Empty Project)”。在右侧窗格中,指定应用程序文件夹并单击“创建(Create)”。
在项目中创建新文件的步骤
- 在项目工具窗口中,选择要在其中创建新文件的文件夹,然后按 Alt+Insert。
- 或者,从文件夹的右键菜单中选择“新建”,然后从列表中选择文件类型:
熟悉WebStorm用户界面
WebStorm窗口由编辑器、菜单、工具栏、导航栏、状态栏和许多WebStorm工具窗口组成。这些工具窗口显示工作区的底部和侧面,包括:调试代码、运行测试、与版本控制系统交互等等。
你可以根据需要调整WebStorm的布局。例如,如果你想专注于编写代码,可以尝试专注模式。它隐藏了所有工具栏、工具窗口和编辑器选项卡,因此你有更多的可用空间。要切换到专注模式,请从主菜单中选择“View | Appearance | Enter Distraction Free Mode”。
专注模式的另一种选择是按 Ctrl+Shift+F12 隐藏所有工具窗口。再次按此快捷键可以将布局还原。
当工具窗口隐藏时,可以通过快捷键访问,可以在工具窗口激活时,使用任何键盘命令。要返回编辑器,按Esc键。当工具窗口显示时,按快捷键只会激活窗口。
以下是常用的工具窗口的快捷键列表:
工具窗口 | 快捷键 |
---|---|
项目 | ALT+1 |
版本控制 | ALT+9 |
运行 | ALT+4 |
调试 | ALT+5 |
终端 | ALT+F12 |
编辑器 | Esc |
在大多数工具窗口和弹出窗口中,WebStorm支持快速搜索,输入关键字过滤列表或导航到特定内容。如:在项目工具窗口中,输入文件名中的几个字符,可以高亮显示符合的文件。
找到你要找的代码
WebStorm附带了一组搜索和导航功能,可以帮助你在任何代码中找到要找的内容,无论它有多混乱。
查找项目符号的调用
要查找项目中特定符号的调用位置,WebStorm建议通过“查找调用”(Alt+ F7)进行全面搜索,把光标定位到符号处,按Alt+ F7
按名称查找项目符号
你可以按名称查找类 Ctrl+N ,查找文件 Ctrl+Shift+N ,或查找符号 Ctrl+Alt+Shift+N ,也可以使用全局搜索(两次Shift)
搜索文本片段
- 要在当前文件中查找文本,请按 Ctrl+F 并输入关键字。
- 要在文件夹、任意范围或整个项目中搜索,请按 Ctrl+Shift+F 并指定关键字和搜索范围。
转到符号声明
转到声明(Ctrl+B或Ctrl+Click)将定位到首次声明符号的位置。这个功能可以在源代码中的任何位置工作。用法是这样,光标定位到要查找声明的符号,按下Ctrl+B,或按Ctrl同时用鼠标左键点击,就能定位到第一次声明当前符号的位置。
历史记录
WebStorm会自动记录你对源代码所做的更改、重构的结果等,称作本地历史记录,默认保存5天内的记录。要查看历史记录,请从主菜单中选择“VCS | Local History | Show History”。可以查看更改,还原,或创建补丁。
补全代码
WebStorm自动补全代码的来源包括了标准语言API、项目依赖。按 Ctrl+Space 获取当前位置的代码补全选项,这个快捷键在windows系统中和输入法切换的快捷键冲突了,可以使用菜单“Code | Code Completion | Basic”,也可以修改掉默认的快捷键,弹出列表中每个建议旁边的图标指示其类型:
默认情况下,JavaScript和TypeScript文件中的补全建议根据机器学习算法按相关性排序。要关闭此排序,请打开“设置”对话框,转到“Editor | General | Code Completion”,清除“Sort completion suggestions based on machine learning”复选框。
实时检查并修复代码
WebStorm监控源代码,并试图保持其准确和干净。它检测潜在的错误和问题,并提供快速修复建议。每当WebStorm发现未使用的代码、无休止的循环、缺少导入语句的符号以及许多其他可能需要注意的问题时,都会看到高亮显示和一个灯泡。单击此灯泡或按 Alt+Enter 键应用修复建议。
你忘了添加导入语句?WebStorm将该符号标记为未解析,并显示一个工具提示,其中包含快速修复:
或者,按 Alt+Enter 键并单击插入导入语句“Insert ‘import “Customer”’:”
对于ES6和TypeScript符号,WebStorm可以在代码补全时自动添加缺失的导入语句:
要查看检查项的完整清单,请在设置对话框中,单击“Editor”下的“Inspections”。可以禁用其中一些,或启用其他检查,此外,还可以调整每类检查结果的严重程度,你可以决定是作为错误还是警告。
重构代码
重构意味着在不改变应用程序行为的情况下更新源代码。重构可以帮助你保持代码的健壮、简洁和易于维护。WebStorm对整个项目进行了巧妙的更改,确保重构后的代码以与重构前相同的方式工作。例如,如果重命名一个类,WebStorm会自动重命名其所有调用和导入语句。
- 在编辑器或项目工具窗口中,选择要重构的表达式或符号,然后按 Ctrl+Alt+Shift+T
- 从重构列表中,选择所需的操作。
运行并调试应用程序
在WebStorm中,运行或调试应用程序的入口是“运行/调试配置”。WebStorm为不同类型的应用程序和文件提供了许多预定义的运行/调试配置模板。你需要在配置中提供的信息取决于其类型,可以是要运行的文件或测试。某些配置可以附加到已运行的应用程序,在这种情况下,需要指定要附加到的URL和端口。
运行应用程序
- 创建适合你的程序类型的运行配置,然后单击“运行”按钮。
- 在某些情况下,可以在不创建运行配置的情况下运行程序或文件。例如,要使用Node运行任何文件,只需在其右键菜单上选择“Run <file_name>”或按 Ctrl+Shift+F10 。这也适用于HTML文件,WebStorm会在浏览器中打开它。
- 如果你的项目有npm脚本,用于在开发模式下启动或构建你的程序,只需在编辑器中打开你的项目文件 package.json,在编辑器侧边栏的空白处点击运行按钮,从弹出菜单中选择运行:
开始调试
使用WebStorm,你可以调试各种类型的应用程序:客户端程序、Node.js程序、测试程序等。以下是如何调试在外部服务器上运行的客户端JavaScript。
- 根据需要在JavaScript代码中设置断点。
- 在开发模式下运行程序,如:npm start,并在浏览器中复制运行程序的URL地址。
- 选择“Run | Edit Configurations”。或者,从工具栏上的列表中选择“编辑配置(Edit Configurations)”。
在打开的“编辑配置”对话框中,单击“添加(+)”按钮,从列表中选择“JavaScript调试”。
在打开的对话框中,填写运行程序的URL地址。如上述步骤2所述,可以从浏览器的地址栏复制此URL。
- 从工具栏上的“Select run/debug configuration”列表中,选择刚才创建的配置,然后单击调试按钮。
或者,按住 Ctrl+Shift 并单击运行工具窗口中的URL链接。
将在浏览器中打开指定的URL地址,并显示调试工具窗口。 - 在Debug工具窗口中,开始调试:单步执行、停止、恢复、挂起、查看实际的HTML DOM、在Console中运行JavaScript代码片段,等等。
WebStorm有一个内置的web服务器,可用于在web浏览器或IDE的内置浏览器中预览和调试程序。此服务器始终在运行,不需要任何手动配置。
遵循代码风格标准
WebStorm会根据每种语言特定的代码样式设置自动格式化所有新代码。这些设置也会在重构过程中应用。
你可以自己配置代码样式,也可以让Prettier来处理。Prettier 是一个流行的代码格式化工具,支持 JavaScript、TypeScript、CSS、SCSS、HTML、JSON、Markdown 等众多常见的编程语言和文件格式。
对源代码使用版本控制
WebStorm支持许多流行的版本控制系统,如Git(或GitHub)、GitLab、Mercurial、Perforce、Subversion和CVS。在大多数情况下,WebStorm会自动检测你使用的VCS系统。
VCS菜单为你提供所有可用命令。在提交工具窗口(Alt+0)中,你可以查看和跟踪团队所做的更改,创建更改列表,提交和推送更改等等。
最常用的操作,如提交、推送和查看历史记录,也可以按 ALT+` 从弹出窗口中选择相关操作。
自定义环境
使用不同的主题、字体和键盘快捷键定制属于你自己的WebStorm。还可以使用我们提供的数百个插件添加额外功能。
外观
首先要微调的是总体“外观和感觉”。默认的WebStorm主题是“黑暗(Dark)”。如果你喜欢更明亮的环境,请在“设置”对话框中,单击“Appearance and Behavior | Appearance”,然后选择“明亮(Light)”。
编辑器
你还可以调整编辑器行为的各个方面,例如:启用或禁用拖放、自定义编辑器选项卡的行为、为每种支持的语言配置高亮显示、编辑代码折叠设置、更改代码补全策略等等。要自定义编辑器的功能,请按 Ctrl+Alt+S打开“设置”对话框,选择“编辑器(Editor)”下的相关页面。
快捷键
WebStorm是一个以键盘为中心的IDE,这意味着其中的几乎任何操作都映射到快捷键。WebStorm附带了一个默认的键盘映射,可以按照你的习惯随时更改它,在设置对话框的Keymap页面中修改。
相关文章:

开始使用WebStorm
目录 开始使用WebStorm打开、检出或创建项目打开项目从版本控制系统检出项目的步骤创建一个空的WebStorm项目在项目中创建新文件的步骤 熟悉WebStorm用户界面找到你要找的代码查找项目符号的调用按名称查找项目符号搜索文本片段转到符号声明历史记录 补全代码实时检查并修复代码…...

【计算机视觉】Car-Plate-Detection-OpenCV-TesseractOCR:车牌检测与识别
Car-Plate-Detection-OpenCV-TesseractOCR:车牌检测与识别技术深度解析 在计算机视觉领域,车牌检测与识别(License Plate Detection and Recognition, LPDR)是一个极具实用价值的研究方向,广泛应用于智能交通系统、安…...

【MongoDB篇】MongoDB的聚合框架!
目录 引言第一节:什么是聚合框架? 🤔第二节:管道的“发动机”们——常用聚合阶段详解!⚙️第三节:聚合表达式——管道中的“计算器”和“转换器” 🧮✏️第四节:性能优化与考量——让…...
洛谷 P1179【NOIP 2010 普及组】数字统计 —— 逐位计算
题面:P1179 [NOIP 2010 普及组] 数字统计 - 洛谷 一:题目解释: 需要求一区间内数字 2 的出现次数。注意22则记为 2 次,其它没别的... 二:思路、 思想可以考虑动态规划需要计算在每一位上数字 2 的出现次数,然后将这些…...
面试常问系列(一)-神经网络参数初始化-之自注意力机制为什么除以根号d而不是2*根号d或者3*根号d
首先先罗列几个参考文章,大家之后可以去看看,加深理解: 面试常问系列(一)-神经网络参数初始化面试常问系列(一)-神经网络参数初始化之自注意力机制_注意力机制的参数初始化怎么做-CSDN博客面试常问系列(一)-神经网络参数初始化-之-softmax-C…...

C++使用PoDoFo库处理PDF文件
📚 PoDoFo 简介 PoDoFo 是一个用 C 编写的自由开源库,专用于 读取、写入和操作 PDF 文件。它适用于需要程序化处理 PDF 文件的应用程序,比如批量生成、修改、合并、提取元数据、绘图等。 🌟 核心特点 特性说明📄 P…...

【Unity】Unity中修改网格的大小和倾斜网格
一、问题 unity中的网格(Grid)或者地面Plane组件,在使用时,都是正方形的网格,而且建立该网格后,在不改变Scale情况下,没发使其整体变大,而且也没法改变每个网格的大小,而…...
SQL 与 Python:日期维度表创建的不同选择
文章目录 一、日期维度表概述日期维度表结构 二、使用 SQL 创建日期维度表2.1 表结构设计2.2 数据插入2.3 SQL 创建方式的优势与局限 三、使用 Python 创建日期维度表3.1 依赖库引入3.2 代码实现3.3 Python 创建方式的优势与局限 四、应用场景与选择建议4.1 应用场景4.2 选择建…...

Transformer-LSTM混合模型在时序回归中的完整流程研究
Transformer-LSTM混合模型在时序回归中的完整流程研究 引言与背景 深度学习中的长期依赖建模一直是时序预测的核心问题。长短期记忆网络(LSTM)作为一种循环神经网络,因其特殊的门控结构能够有效捕捉序列的历史信息,并在时序预测…...

UE5 渲染思路笔记(角色)
参考示例 首先是怎么做到辉光只有部分有而整体没有的 使用的是Bloom内的阈值,控制光的溢光量 Threshold(阈值):这个参数决定了图像中哪些像素会参与泛光计算。只有那些亮度超过阈值的像素才会触发泛光效果。阈值越低,更多的像素会…...

运维打铁:服务器分类及PHP入门
文章目录 C/S架构和B/S架构C/S架构B/S架构 服务器分类服务器类型服务器软件 使用 WampServer 搭建 HTTP服务集成环境的分类WampServer 的安装测试访问配置网站根目录 静态网站和动态网站PHP的常见语法第一段 php 代码注释变量数据类型运算符函数的定义类和对象内容输出循环语句…...
js原型污染 + xss劫持base -- no-code b01lersctf 2025
题目信息:Found this new web framework the other day—you don’t need to write any code, just JSON. 我们先来搞清楚究竟发生了什么 当我们访问 /index /*** 处理 /:page 路径的 GET 请求* param {Object} req - 请求对象* param {Object} reply - 响应对象* returns {Pro…...
力扣92.反转指定范围内的链表、25.k个一组反转链表
92.反转指定范围内的链表 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next;…...

Python - 爬虫;Scrapy框架(一)
框架,就相当于一个封装了很多功能的结构体,它帮我们把主要的结构给搭建好了,我们只需往骨架里添加内容就行。 Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scra…...

The 2024 ICPC Kunming Invitational Contest G. Be Positive
https://codeforces.com/gym/105386/problem/G 题目: 结论: 从0开始每四个相邻数的异或值为0 代码: #include<bits/stdc.h> using namespace std; #define int long long void solve() {int n;cin >> n;if(n1||n%40){cout &…...

GET请求如何传复杂数组参数
背景 有个历史项目,是GET请求,但是很多请求还是复杂参数,比如:参数是数组,且数组中每一个元素都是复杂的对象,这个时候怎么传参数呢? 看之前请求直接是拼接在url后面 类似&items%5B0%5D.…...

leetcode - 双指针问题
文章目录 前言 题1 移动零: 思路: 参考代码: 题2 复写零: 思考: 参考代码: 题3 快乐数: 思考: 参考代码: 题4 盛最多水的容器: 思考:…...

人工智能之数学基础:二次型
本文重点 二次型作为线性代数领域的重要概念,架起了代数方程与几何分析之间的桥梁。从古典解析几何中的圆锥曲线方程到现代优化理论中的目标函数,二次型以其简洁的数学表达和丰富的结构特性,在数学物理、工程技术和经济金融等领域发挥着不可替代的作用。 二次型的基本概念…...
存储过程补充——流程控制语句详解
文章目录 1. 条件判断语句1.1 分支结构之 IF1.2 分支结构之 CASE 2. 循环语句2.1 循环结构之LOOP2.2 循环结构之WHILE2.3 循环结构之REPEAT 3. 跳转语句3.6 跳转语句之LEAVE语句3.7 跳转语句之ITERATE语句 在数据库管理系统中,存储过程是一种强大的工具,…...

【Unity笔记】实现支持不同渲染管线的天空盒曝光度控制组件(SkyboxExposureController)——参数化控制
写在前面 在Unity中,天空盒(Skybox)不仅承担视觉上的背景作用,更是场景环境光照与氛围塑造的重要组成部分。不同时间、天气、场景转换等,都需要灵活调整天空的亮度。而**曝光度(Exposure)**就是…...

Docker 使用与部署(超详细)
目录 引入 入门使用 部署对比 镜像仓库 命令解释 基础 常见命令 示例 数据卷的使用 数据卷的概念 数据卷的使用 挂载本地目录文件 镜像 结构 Dockerfile 容器网络 部署 DockerCompose 语法 编辑 基础命令 引入 当我们在 Linux 上部署一个集成了很多中间件…...

CSS实现图片垂直居中方法
html <div class"footer border-top-row"><div class"footer-row"><span class"footer-row-col01">制单人:{{ printData[pageIndex - 1].rkMaster.makerName}}<img :src"getPersonSignImgSrc(printData[pa…...
C#实现Socket通信:基于TCP/IP协议的网络编程
TCP/IP网络模型 最上层的是应用层,也就是我们日常可以接触到的,它会给数据添加对应的头部,并传输给传输层,应用层是我们日常会接触到的,比如HTTP,FTP,Telnet,DNS,SMTP。…...
基于C++的IOT网关和平台7:github项目ctGateway设备协议开发指南
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。 源码指引:github源码指引_初级代码游戏的博客-CSDN博客 系…...
大数据实时数仓的数据质量监控解决方案
实时数仓不仅仅是传统数据仓库的升级版,它更强调数据的实时性、流动性和高可用性,通过对海量数据的即时处理和分析,为企业提供近乎实时的洞察力。这种能力在金融、零售、制造、互联网等行业中尤为关键,例如,电商平台可以通过实时数仓监控用户行为,动态调整推荐算法;金融…...

Python+Scrapy跨境电商爬虫实战:从亚马逊/沃尔玛数据采集到反爬攻克(附Pangolin API高效方案)
从零实战到反爬攻克,揭秘跨境数据抓取全流程与Pangolin Scrape API终极方案 在当今数据驱动的跨境电商时代,谁掌握了优质的市场数据,谁就掌握了成功的关键。随着全球电商市场规模持续扩大(据Statista最新报告显示,2025…...
简单快速的浮点数转字符串算法,适合单片机环境
目的是在OLED 屏幕上显示浮点数,有几个设计要求: 我已经有一个现成的能显示整数的函数,希望尽量复用;尽量不使用除法;不需要考虑小数四舍五入的问题; 我觉得小数四舍五入其实很多时候没什么用处ÿ…...
c++中构造对象实例的两种方式及其返回值
c中,构造对象实例有两种方式,一种返回对象实例,一种返回该对象实例的指针。如下所示: 一、两种返回值 RedisConn conn1; //得到实例conn1;RedisConn *conn2 new RedisConn();//得到指针conn2;RedisConn conn3 new RedisConn()…...
Python实例题:Python操作excel自动化开发
目录 Python实例题 题目 安装依赖库 示例代码 代码解释 写入 Excel 文件: 读取 Excel 文件: 修改 Excel 文件: 运行思路 注意事项 Python实例题 题目 Python操作excel自动化开发 安装依赖库 pip install openpyxl示例代码 imp…...

【日撸 Java 三百行】Day 7(Java的数组与矩阵元素相加)
目录 Day 7:Java 的数组与矩阵元素相加 一、基本知识 二、矩阵的建立与基本计算 三、代码及测试 拓展:Arrays类详解 小结 Day 7:Java 的数组与矩阵元素相加 Task: 矩阵的赋值.二重循环. 一、基本知识 在学习 Java 中的数组与矩…...