2024年4月

Scriptable

Scriptable 脚本合集

GitHub Repo stars
GitHub forks
GitHub issues
Scriptables
Scriptables

iOS桌面组件神器(Scriptable)原创脚本,精美作品收集、分享! 如果喜欢,欢迎点个 ⭐️ Star ⭐️ 给予小支持,感谢您的使用!

喜欢这个项目?有好的脚本?请考虑留言来帮助完善它!

如果您使用过程中发现有问题或可以改进的流程,请提出 Issue 或 Pull request !



本文介绍笔记本电脑出现
No Bootable Device
错误提示,且无法开机的多种解决办法。

1 问题产生

最近,笔记本电脑正在正常使用时,突然蓝屏,出现
你的设备遇到问题,需要重启。
的提示;最下方的终止代码具体是
CRITICAL_PROCESS_DIED
还是
SYSTEM_SERVICE_EXCEPTION
有点记不太清楚了,不过这种临时、突然出现的蓝屏应该是前者。随后,电脑便自动关机并尝试重启,由此拉开了一段我和电脑漫长的斗智斗勇经历的序幕。

第一次重启后,在电脑品牌Logo界面加载完毕,出现系统
请稍后
的提示后,又一次遇到了蓝屏,如下图所示(屏幕太反光,不小心自拍了,加个马赛克)。

image

既然又出现了蓝屏,自然需要再一次的重启;随后,电脑要么像刚刚这样重复
出现蓝屏→重启→出现蓝屏→重启
的无限循环,要么就会出现如下所示的
No Bootable Device
错误提示。

至此,可以判断电脑一开始出现的蓝屏肯定是和这个
No Bootable Device
错误提示有关;接下来,便开始尝试对这一错误提示加以解决。

2 问题解决

在这一部分的开头首先要和大家讲清楚:电脑出现本文前述这一问题后,抱着能不去线下店就不去线下店的想法,我首先从国内外各大博客平台或论坛中,搜集到了针对
No Bootable Device
错误提示的不同解决思路与办法(也就是本文接下来所介绍的多种方法),并逐一对其加以尝试,但全都没有什么效果;最终这个问题,还是通过到线下电脑维修门店进行拆机、更换硬盘(也顺便重装了系统、清理了风扇)才解决的。而本文则是对
我在去线下门店前所尝试的所有方法
进行汇总,因此并不能保证这些方法可以百分之百解决大家的
No Bootable Device
问题;但是,尽管这些方法不适合我,但还是有可能解决大家的问题的;并且如果大家用了这些方法也都没有效果的话,那说明大家电脑的
No Bootable Device
错误很大概率是硬件(比如硬盘损坏)的问题,而不是系统或软件的问题,多少也有着确定故障原因的作用。

2.1 拍打电脑

这是一个很搞笑的方法,也是一个临时、应急用的治标不治本的方法。就是出现
No Bootable Device
错误提示后,轻轻拍打(或锤打)笔记本电脑D面(就是底面,离电脑机器最近的不带键盘的那一面),随后在重启开机即可。

这一办法看起来很扯,但是偶尔还真的很有用,我在刚开始出现
No Bootable Device
错误提示时,就是用这个办法解决的,拍了几下就重新正常开了机。但很显然,这种方法肯定是治标不治本的——如果电脑的问题真的是拍几下就能暂时修好的,那才说明是电脑的硬件出现问题了,反而更需要赶紧拿到线下门店去维修。

我的电脑也是这样,原本拍完后可以正常开机,就自以为完全解决了;谁知道正常用了一下午后,到了晚上电脑又一次蓝屏,重启后重新出现了
No Bootable Device
错误提示。从而说明这一方法解决失败。

值得一提的是,在各大论坛中发现,这一解决方法似乎对小米的笔记本电脑很适用,并且拍打完后管用的时间也比较长;这可能和小米笔记本的硬件接口设计有关。但建议大家如果用这种方式暂时修好了电脑,还是抽空拿到线下店去看一看,万一今后再发生这种问题了,丢失数据就得不偿失了。

2.2 安全模式启动

前一种方法对我的电脑无效,于是尝试第二种方法。

在电脑处于开机状态时,长按电源按钮,强制关机;再次开机,随后立刻长按电源按钮,再次强制关机,这样重复2 ~ 3次(具体几次我记不清楚了,但最多三次就够),再次开机后电脑会自动进入
Windows 恢复环境
(winRE),如下图所示。

接下来,依次选择“
疑难解答
”→“
高级选项
”。

随后,选择“
启动设置
”。

可以看到,此时即可准备启用安全模式进行重新启动。选择“
重新启动
”。

电脑重新启动后,将会显示一个选项列表,其中就有安全模式进行启动的选项,选择并启动电脑即可。如果问题解决,则电脑将正常开机。

2.3 Boot Mode修改

上述第二种方法对我的电脑依然无效,于是尝试第三种方法。

在论坛中看到很多用户提到,可以通过修改笔记本电脑
BIOS
中的
Boot Mode
来解决这一问题。进入
BIOS
的方法如下:在电脑启动,出现品牌Logo时,立刻疯狂按下
F2
按钮即可。不过,不同品牌的电脑可能有所不同,大家自行搜索即可。

有博主称,将自己电脑原本
BIOS

Boot Mode
的值
UEFI
修改为
Legacy
(有的电脑也叫
CSM
),随后重新启动即可解决问题;如果这样子还不能解决的话,就再把
Boot Mode
的值换回到原本的
UEFI
,看看能不能正常开机。

但是,这一方法并不适合我——在我电脑的
BIOS
中,
Boot Mode
一项默认为
UEFI
,其具体值是灰色的,不能自行修改,如下图所示。查阅多个论坛,也没有找到能够使得
Boot Mode
选项变成可以修改的方法,只好作罢。不过,如果大家电脑
BIOS
中的
Boot Mode
是可以修改的话,那么就可以来回切换一下
UEFI

Legacy
(或者是
CSM
)这两个选项,看看能不能解决问题。

这里也需要额外提一句:由于
BIOS
里的设置非常重要,如果我们随意修改的话可能会带来很多意想不到的问题;因此如果是对电脑不太在行的用户(比如我),就尽量不要乱修改
BIOS
的设置了,万一没有设置好使得电脑成了砖头,那就彻底凉凉啦。

2.4 系统盘主要分区激活

出现
No Bootable Device
错误提示的一个可能原因是,装有操作系统的系统盘没有被激活,或者是该系统盘下的主要分区没有被激活。如果是因为这个原因导致的错误,那么通过如下操作就应该可以解决。

这一方法首先需要大家准备一个启动盘,如果没有的话大家可以用自己的U盘做一个,具体制作方法网络中有很多资料,这里不再赘述啦~

首先,关机状态下插入启动盘,随后开机并进入
BIOS
中,将启动盘的启动优先级调制最高。下图为我电脑原本的启动优先级,我就需要将我的启动盘,也就是
USB HDD: SanDisk
的优先级调到最前面。

调成这个样子即可。

随后保存并退出
BIOS
模式,电脑将自动通过我们的启动盘进行重新启动。

接下来,将会看到类似这样的界面。

我们将语言调为中文后,点击“
下一步
”。

随后,选择左下角的“
修复计算机
”,再选择“
疑难解答
”。

接下来,选择“
命令提示符
”。

然后,在弹出的CMD命令窗口中,首先输入以下内容:

diskpart

随后,输入:

list disk

接下来,找到我们的系统盘(我这里就是这个
119 GB
大小的盘)编号,输入:

select disk 0

紧接着,输入:

list partition

随后,找到我们系统盘的主要分区编号,输入:

select partition 3

在上一幅图里,我当时选错编号了,按道理是要选择分区编号为
3
的那个;大家按照大家电脑的实际情况来选择即可。

随后,输入:

active

至此,完成操作。如果大家进行到这一步骤后,没有提示出错的话,那么重新启动电脑,大概率就没有问题了。不过我的电脑依然不适合这种方法,在输入最后一句代码后,提示出了错误;具体错误内容我忘记截图了,因此也忘记具体说的是什么了,不过大概意思是我的硬盘由于其自身设计的型号问题,不适用于
active
命令,因此这句命令对我的硬盘没有效果。

2.5 BCD修复

这种方法同前一种方法一致,也是要通过启动盘启动电脑,随后用同样的方法进入CMD命令窗口。接下来,大家按照下图所示的命令(第一个为
fixmbr
,最后一个为
rebuildbcd
,共四条命令),依次输入即可:

随后,退出并重新启动电脑,看看电脑能不能正常开机。

2.6 线下店维修

以上五种方法(其实我试了远不止五种方法,这里就是挑出五种我感觉比较有代表性的方法)对我的电脑都没有作用,因此最后还是直接将电脑拿到线下门店进行维修。经过检查,发现确实是硬件问题:电脑原装的两块硬盘——一块固态硬盘(也就是系统盘)以及一块机械硬盘——都出现了较多的坏道。毕竟也是用了整整四年的电脑,经过本科四年高频率的“糟蹋”,硬盘出现问题也确实不意外哈哈。

通过将原装的两块硬盘进行更换,成功解决了问题,不再出现
No Bootable Device
错误提示,并且电脑速度得到了极大提升(不过这个应该主要是因为将原有一块固态硬盘与一块机械硬盘整体换成了一块固态硬盘)。当然,更换硬盘后,原本系统盘(固态硬盘)内的数据就找不回来啦,需要重装系统;其他盘(机械硬盘)的数据则还可以重新导出备份。

综上,困扰我一天之久(确实,自己只倒腾了半天时间就没耐心,直接拿到店里请专业人员维修了)的
No Bootable Device
错误提示终于得到解决。

如果大家遇到和我类似的报错内容,且通过以上五种方法都没有解决,那确实很大概率就是电脑硬件的问题了,不如尽快拿到信得过的线下门店里请专业人士维修,免得电脑继续折磨自己哈哈。

虚拟机完美搭建IOS自动化测试环境

一、win系统

1.1 安装虚拟机VM16

如果是macos系统请跳过

详细安装请看压缩包,私信可以提供安装包

1.2 VM解锁macOS

使用的是unlocker

解锁涉及到修改注册列表,会报毒,请先关闭杀毒软件

解锁前需要关闭vmvare程序

同时关闭任务管理器中所有vm开头的服务

将解锁包解压出来,右键以管理员身份运行win-install.cmd

查看是否解锁成功:

这里出现MacOS则为解锁成功,版本可以默认不选择

这时候需要把任务管理器中的VM服务都打开

1.3 VM导入macOS

1.3.1 选择好虚拟机存放的位置,下一步

1.3.2 设置虚拟机的处理器数量,我这里是八核(建议最少4核)

1.3.3 设置内存,我这里是16g,建议最低8g

1.3.4 选择网络

1.3.5 选择控制器类型

1.3.6 设置磁盘

1.3.7 创建完成,设置CD

1.3.8 启动

这里若是启动卡住不动或者报错

  1. 到macos安装路径下

  1. 鼠标右键编辑

可以尝试一下几种方式

intel的cpu:

(1)不修改

(2)结尾处添加代码

smc.version = 0

(3)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0666666:0101:0110:6666660:0110:0101:0100:0666666"
cpuid.0.ecx = "0110:1100:0110:0101:0666666:0100:0110:6666660"
cpuid.0.edx = "0100:1001:0110:0101:0110:6666660:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0666666:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:6666661:1010:1011:6666661:1011:6666661:6666661"
featureCompat.enable = "FALSE"

(4)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0666666:0101:0110:6666660:0110:0101:0100:0666666"
cpuid.0.ecx = "0110:1100:0110:0101:0666666:0100:0110:6666660"
cpuid.0.edx = "0100:1001:0110:0101:0110:6666660:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0666666:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:6666661:1010:1011:6666661:1011:6666661:6666661"
featureCompat.enable = "TRUE"

(5)结尾处添加代码

smbios.reflectHost = "TRUE"
hw.model = "MacBookPro16,1"
board-id = "Mac-E1008331FDC96864" 

amd的cpu:

(1)不修改

(2)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0666666:0101:0110:6666660:0110:0101:0100:0666666"
cpuid.0.ecx = "0110:1100:0110:0101:0666666:0100:0110:6666660"
cpuid.0.edx = "0100:1001:0110:0101:0110:6666660:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0666666:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:0666666:1000:1011:6666661:1011:6666661:6666661"
smbios.reflectHost = "TRUE"
hw.model = "MacBookPro14,3"
board-id = "Mac-551B86E5744E2388"
keyboard.vusb.enable = "TRUE"
mouse.vusb.enable = "TRUE"

(3)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0666666:0101:0110:6666660:0110:0101:0100:0666666"
cpuid.0.ecx = "0110:1100:0110:0101:0666666:0100:0110:6666660"
cpuid.0.edx = "0100:1001:0110:0101:0110:6666660:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0666666:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"

cpuid.1.edx = "0000:0666666:1000:1011:6666661:1011:6666661:6666661"

(4)结尾处添加代码

smc.version = "0"
cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx = "0666666:0101:0110:6666660:0110:0101:0100:0666666"
cpuid.0.ecx = "0110:1100:0110:0101:0666666:0100:0110:6666660"
cpuid.0.edx = "0100:1001:0110:0101:0110:6666660:0110:1001"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0666666:0001"
cpuid.1.ebx = "0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx = "1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx = "0000:0666666:1000:1011:6666661:1011:6666661:6666661"
featureCompat.enable = "TRUE"

具体安装问题可以参考:
https://www.dhzy.fun/archives/3858.html

1.4 macOS基础设置

1.4.1 扩大磁盘

1.4.2 运行系统

系统开始安装,安装过程中,系统会自动重启数次,整个安装过程大约需要1小时左右;

系统安装完成后,根据设置向导设置区域,输入法等,区域选择【中国大陆】;

辅助功能点击【以后】进行跳过,进入系统后再设置;

在登录Apple ID时,可选择【稍后设置】进行跳过

创建电脑账户,设置用户名和密码

1.4.3 安装 VMware Tools

  1. 在系统中,弹出系统安装盘;

  1. 在虚拟机菜单中,点击安装 VMware Tools;


  1. 根据安装向导开始VMware Tools的安装;

  1. 选择【为这台电脑上的所有用户安装】点击【继续】;

5.点击【安装】,根据提示输入用户密码;


  1. 在弹出的系统拓展提示信息选择【打开系统设置】-【隐私与安全性】-【安全性】中【允许】来自开发者"VMware,Inc.”的系统软件已被阻止载入;


  1. VMware Tools安装完成,点击【重新启动】完成。

二、macOS实现IOS自动化测试环境搭建

环境说明

Mac版本:macOS Monterey 13(intel平台)

Xcode版本:V13.3.1

Appium版本:V1.22.3

2.1、JDK

双击jdk-8u202-macosx-x64.dmg

2.2、Xcode

双击Xcode_13.3.1.xip,进行安装

2.2.1、Command_Line_Tools_for_Xcode

双击Command_Line_Tools_for_Xcode_13.3.1.dmg

2.3、Appium Desktop

双击Appium-Server-GUI-mac-1.22.3-4.dmg

2.4、Appium-Inspector

双击Appium-Server-GUI-mac-1.22.3-4.dmg

2.5、Homebrew

通过镜像安装方式:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

(推荐使用中科大的镜像源)

2.6、Carthage

brew install carthage
carthage version

2.7、 ios-deploy

brew install ios-deploy 

2.8、ideviceinstaller

brew install --HEAD ideviceinstaller 

2.9、libimobiledevice

#安装最新版本libimobiledevice
brew install --HEAD libimobiledevice

2.10、Node&npm

brew install node

2.11、Appium doctor

npm install appium-doctor -g
#检测iOS环境是否安装成功
appium-doctor --ios

2.12、Pip

双击pip-24.0.zip,进行解压

cd pip-24.0
python3 setup.py install

2.13、setuptools

双击setuptools-69.2.0.tar.gz,解压

cd setuptools-69.2.0
python3 setup.py install

三、配置WebDriverAgent

3.1、先安装

本机路径为:

cd /Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/Scripts
node ./build-webdriveragent.js

3.2、用xcode 打开工程文件,把文件直接拖到xcode可知己打开

文件路径为:/Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj

3.3、xcode登录账号

添加account:Xcode -> Preferences -> account -> 左下角 +

3.4、设置team,所有TARGETS都需要设置

3.5、更改bundle id

这里的bundle id就相当于一个App的唯一识别号,更改的规则随意,只要确认不会与有重复即可;所有的targets都需要修改

3.6、构建WebDriverAgentRunner

3.7、启动

点击Product → 选择Test方式

如果真机运行后弹出以下弹窗,则需要在设置中信任证书

处理方式,在真机中授权信任WebDriverAgentRunner

授权信任之后需要重新点击Test

日志出现地址则成功

可以测试下网址是否可以打开

四、配置Appium

4.1 启动Appium Server

显示日志则成功

4.2 启动Appium Inspector

配置后点击Start Session,基本配置的参数如下:

{{
  "platformName": "iOS",
  "appium:deviceName": "iPhone 7",
  "appium:udid": "c2d40a68a9c3123d2fd0aa85fddef4ec1e39c4bf",
  "appium:platformVersion": "15.8.2"
}

五、编辑Python程序

5.1 打开pycharm,新建项目

新建项目

5.2、新建python项目

import time

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

# 启动参数
iOS_caps = {
    'automationName': 'XCUITest',
    'platformName': 'iOS',
    'platformVersion': '15.8.3',
    'udid': 'c2d40a68a9c3123d2fd0aa85fddef4ec1e39c4bf',
    'deviceName': 'iPhone'
}

# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', iOS_caps)

# 亚马逊图标 XPath
亚马逊图标_xpath = '//XCUIElementTypeIcon[@name="亚马逊购物"]'

# 定位亚马逊图标并点击
亚马逊图标 = driver.find_element('xpath', 亚马逊图标_xpath)
TouchAction(driver).tap(亚马逊图标).perform()

time.sleep(5)

# 退出程序
driver.quit()

右键-》run

写在前面

一款好的插件往往能提高我们的开发效率。今天就给大家安利一款maven 依赖搜索插件。

插件是自己一直关注的鲁班大叔开发的,用了几天真的好用

废话不多说,我们就来看看这是一款什么插件

一、maven 依赖搜索

平常我们需要找一个maven依赖,一般都会去
https://mvnrepository.com/
网站搜

① 搜索需要的依赖

MySQL依赖

②找到自己需要的版本(
我们一般都会选择使用比较多的版本

选择版本

③ 将坐标copy到pom.xml中

image-20240466666660845999

二、安装插件

File-->Settings-->Plugins-->Marketplace的输入框中搜索
maven-search

插件搜索

可以看到目前,已经有
146.6k
下载量了, 选择界面上的
Installed
即可安装,安装完后重启即可

三、插件使用

3.1 唤醒插件

唤醒插件有两种方式,一种是使用快捷键,一种是菜单点击

① 快捷键

首先将鼠标在项目区点击一下,然后 ctrl+shift+M,即可唤醒

②菜单点击(Tools-->Maven Search)

菜单点击

3.2 使用插件

① 搜索依赖

在唤醒的弹框中输入关键字即可搜索,我们这里来找下
MySQL
的依赖

搜索插件

插件信息

② 选择需要的版本

选择需要的版本

四、其他辅助功能

唤醒Maven Search ,找到核心内容之后,我们可以在弹框最下面看到
源码和文档
字样,点击可以跳转到对应的文档和源码地址

其他辅助功能

本期内容到此就结束了,希望对你有所帮助

我们下期再见 (●'◡'●)

在快速发展的软件开发世界中,保持领先是至关重要的。在 Visual Studio 中引入AI,特别是 GitHub Copilot,已经彻底改变了开发人员的编码方式。通过将 Copilot 集成到 Visual Studio 中,您可以利用 AI 来简化工作流程,管理大型代码库,分析异常,甚至生成提交消息。这就像有一个知识渊博的结对程序员在你身边,帮助你提高生产力,更快地迭代,使你的应用程序更可靠。以下是在过去一年中我们想重点介绍的 Visual Studio 中 GitHub Copilot 的一些创新。

内联聊天视图

有没有想过,你可以把生成式 AI 聊天机器人给你的代码直接放到你的编辑器里?通过内联聊天,您可以在编辑器中与 GitHub Copilot 进行交互!这个功能允许你在编辑器中改进你的代码,这对于询问关于你活动的文件的特定问题是完美的,当 GitHub Copilot 给你代码建议时,你可以看到差异视图。

要访问内联聊天,您需要一个活跃的 GitHub Copilot 订阅和安装在 Visual Studio 17.8或更高版本中的扩展。要访问内联聊天,在只需在编辑器中点击右键> Ask Copilot,或通过快捷键(Alt+/)。

斜杠命令来指示你的意图

被误解是最糟糕的!斜杠命令允许您清楚地说明您的提示背后的意图,以便让 GitHub Copilot 没有误解。当学习使用生成式 AI 聊天机器人时,当它不理解你的要求时,总是令人沮丧。通过使用斜杠命令,它们允许您清楚地说明指示背后的意图,以便使 Copilot 没有误解。

斜杠命令存在于聊天窗口中。输入“/”会弹出一个命令列表,你可以用这些命令来说明你的意图,比如“/explain”用来解释代码,“/doc”用来记录一个方法或文件,等等!

上下文变量来优化你的作用域

有没有想过 GitHub Copilot 在回答你的问题时引用了什么?上下文变量特性允许您在问题中使用#符号指定解决方案中的文件。当你引用一个文件时,Copilot 可以访问它的内容,并提供与之相关的具体答案。

【提示】利用我们最新和最好的#Solution将所有文件的上下文包含在您打开的解决方案中,允许您将答案基于其中。注意#Solution只支持c#。例如:“What parts of this #Solution is designated to be a command line interface?”

例如,你可以问这样的问题:“How does the #Main.cs file work?”或“What is the purpose of the #Calculator.cs file?”然后,Copilot Chat 将根据这些文件的内容提供相关答案。此功能通过消除手动复制和粘贴的需要简化了流程。您可以在一个问题中包含多个文件,以获得更高的效率!

分析和修复测试窗口的失败

使用 GitHub Copilot,失败和异常分析从未如此简单。这种 AI 辅助功能可以帮助用户分析和修复由于失败的测试假设或在测试执行期间发生的异常而导致的测试失败。这个功能可以在 Test Explorer 中找到,并创建一个讨论线程,允许您与 GitHub Copilot 交互,为您提供解释和代码修复。当存在失败的测试时,“Ask Copilot”链接将出现在测试失败摘要解释中,允许您与 Copilot 进行后续操作。

AI 辅助异常分析

你有没有想过为什么会出现异常?现在,GitHub Copilot 可以用来协助异常分析,帮助开发人员理解异常发生的原因,并提出解决方法。它收集有关异常的相关信息,包括异常的类型、消息、来自堆栈跟踪的代码片段和局部变量值。这些数据随后被发送给 Copilot 进行初步分析。随后,用户可以与 Copilot 进行进一步对话,讨论错误并探索潜在的解决方案。

分析工具中的自动见解

由 CPU Usage 和 Instrumentation 分析器标记的自动见解允许您深入了解代码,一般与已知的有问题的模式相关。用户现在可以使用“Ask Copilot”链接获取有关该见解的更详细信息。GitHub Copilot 从见解中获取上下文,并使用它再次提示 Copilot,以便您可以获得有关您已获得的见解的更多信息,并提出后续问题!

重命名建议

您是否遇到过命名变量、方法或类的问题?您并不孤独。这个功能不仅仅是名字建议,它学习您的标识符使用习惯,并适应您的代码风格,提出无缝集成到代码库中的标识符。

要在 Visual Studio 中访问此功能,只需选择任意标识符,右键单击,然后选择“Rename”(Ctrl+R, Ctrl+R)。单击重命名建议按钮或使用 Ctrl+Space 快捷键。您将看到一个根据代码上下文定制的命名建议列表。选择最能让您产生共鸣的名字,然后按回车键!

生成的提交消息

在花了几个小时修复 bug 或更新特性之后,我最不想做的就是绞尽脑汁准确地编写 Git 提交的内容。幸运的是,Copilot 提供了一个解决方案。使用最新的生成的 Git 提交消息特性来简洁地描述您的更改集,并提高提交消息的质量和一致性,从而使代码更易于理解和维护。然后,在提交之前,你可以通过在更改后面添加关键的“why”来改善信息。

在 Git Changes 窗口中使用新的“Add AI Generated Commit Message”闪光笔图标生成建议。

断点表达式的智能感知

断点表达式可以帮助开发人员更高效地调试代码。然而,找到最佳的断点表达式可能是一项挑战和耗时的工作。这就是为什么我们在 Visual Studio 中使用 GitHub Copilot Chat ,这是一个 AI 伴侣,可以帮助我们对断点表达式进行智能感知。GitHub Copilot 可以分析我们的代码,并为我们的调试场景建议最佳的断点表达式。这是一个节省时间和精力的好方法!

该特性针对的是创建高级断点(如条件断点和跟踪点)的用户。使用断点周围的代码上下文,GitHub Copilot 建议用于断点条件和日志语句的潜在表达式。注意:智能感知断点建议只支持 C#。

死锁分析

死锁可能会在程序中导致严重的问题,并且检测和解决起来可能很繁琐。在 GitHub Copilot 中,死锁被揭开了神秘的面纱,通过在 Exception Helper 中显示它们,使其对用户来说变得更加明显。异常助手现在将包括一个“Ask Copilot”链接,在这个链接中,Copilot 将获取你的代码上下文,以及异常助手积累的信息,并允许用户继续向 Copilot 询问如何解决死锁。

我该如何开始呢?

所有这些特性以及更多特性现在都可以在最近发布的 Visual Studio 17.9中使用。那么,为什么还要等待呢?今天在 Visual Studio 中安装 Copilot 和 Copilot Chat,体验编程的未来!

提供反馈并保持联系

我们感谢您花时间报告问题/建议,并希望您在使用 Visual Studio 时继续给我们反馈,告诉我们您喜欢什么以及我们可以改进什么。

您的反馈对于帮助我们使 Visual Studio 成为最好的工具至关重要!您可以通过开发者社区与我们分享反馈,通过发送反馈来报告问题或分享您的建议,推动对新功能或现有功能的改进。

通过在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上关注我们与 Visual Studio 团队保持联系。

原文链接:https://devblogs.microsoft.com/visualstudio/github-copilot-in-visual-studio-a-recap-of-2023/