吐槽一下 Visual Studio 2022

2023-03-15 22:43:53 +08:00
 sl0000

为了学习游戏开发, 从 macOS 转到 Win 平台, 这几天用 Visual Studio 2022 深度开发, 总是被各种莫名其妙的东西打断. 首先是主题设置, 我想改个黑色背景, 然后问题就出来了.

  1. 字体是黑色的看不到, 于是我需要把所有的字体颜色选项过一遍: 是黑色?改白色->下一个:下一个. 列表至少上百个选项要过一遍吧.
  2. 快捷键修改, Visual Studio 的默认快捷键真是人用的吗? 一堆组合键学 Emacs 呢? 那我为什么不直接用 Emacs, 改了快捷键用了一段时间, 快进到打算删除所有快捷键, 只在需要的地方加快捷键. 然后你看几千个快捷键需要手动清空.
  3. 自动补全, 乱补瞎跳. 补全前要回车, 然后什么括号自动补全. 设置关了开了也没用. “lock(“自动给我补了一个 Lockfile, 满脑的问号.

这就好像你去饭馆, 要米饭, 老板答, 米, 水, 电饭锅都在那里, 请自便; 点菜, 每点一道菜, 老板都要问你辣度咸度油度.

仔细看了一下改字体, 它针对各种语言做出区分, 但其实颜色和大小其实有很多可以抽象的地方. 像类名方法这种基本上不同语言都有的, 可以采用继承模式, 我设置一个 base class font, 支持的就继承, 不支持的就自定义, 这种配置上百个的列表手动设定工作量减少一大半没问题吧.

快捷键配置你看看列表长度真的是地狱模式. 我只需要一键清空所有配置. 功能性的, 使用频率统计一下, 对应的快捷键根据频率排序一下显示让我设置即可. 编辑器的, 直接问人是 Emacs/Vim/新人, 还是不要荼毒新人了.

自动补全, 有 Bug, 设置感觉过于复杂. 基于 Xcode 问题也不少, 不评价.

也许有大佬 VS 玩得贼溜的, 可以指导指导, 其他人, 我反正是不用来写代码了, 最多把文件拖过来编译.

5162 次点击
所在节点    C++
30 条回复
pocarisweat
2023-03-15 22:54:38 +08:00
1. VS 可以安装特定主题的吧,用不着自己设置每个字体的颜色
2. 快捷键确实离谱,不过应该可以像 vscode 一样设置整套的 key binding ?
3. 这玩意只能当做一个丐中丐版的 copilot
xmoer
2023-03-15 22:55:51 +08:00
工具>>主题,有自带浅色和深色主题,不需要你手工改背景改字体颜色。

我觉得 VS 2022 最大的问题就是莫名其妙的吃内存,内存占用空前提升。国外很多人说是 BUG ,或者内存溢出,也可能是首个纯 64 位版本它的调试器有问题。
tool2d
2023-03-15 23:07:31 +08:00
2023 年了,编译 c++有无数种方法,我一般也不怎么用 vs2022 ,因为缺少一些提高效率的插件,IDE 用着不顺手啊。

但是调试代码,还是只能用 vs2022 。
Katrol
2023-03-15 23:15:53 +08:00
可以用 Rider
MMMMMMMMMMMMMMMM
2023-03-15 23:18:57 +08:00
vs 把编译链接选项拆成一个一个选项式的 gui 下拉框是真的地狱
网上查出来的别人或者 chatgpt 的回答,都是给你 command line ,你还得倒过来一个个去他 gui 里找对应的参数配置在哪

替代方案也不是没有:
c2+ cmake+vcpkg+你喜欢的任意编辑器,只用知名 lib 的话 conan 、xmake 也能省一些时间
c4+ 不太了解,上 jb 的 rider ?
levelworm
2023-03-15 23:20:07 +08:00
快捷键只能适应和自己修改。自动补全我倒觉得还不错,至少比 VSCode 上面任何一种都好多了,但是问题是启动慢好像时灵时不灵的样子。
Mithril
2023-03-15 23:22:00 +08:00
只是编译的话,装个 build tool 就够了,用不着装 Visual Studio 。

能被这么多人认为是宇宙第一 IDE ,主要还是因为调试功能强大。但至少对我来说,设置足够方便也是原因之一。你想到的地方可以改,想不到的地方你觉得可能可以改的也可以改。

如果你觉得整套配置好的快捷键设置就够用的话,可以直接找套合适的配置导入进去就行。而且我没记错的话默认也可以在几套里面选的。

毕竟都是做软件开发的,你应该明白“可定制程度高”和“简洁舒适易用”在一定程度上是互斥的。特别是有些人从九几年就开始用这套玩意,你让他直接换套新的快捷键几乎是不可能的。
bestkayle
2023-03-15 23:25:48 +08:00
最大的问题是 copilot 插件安装了用不了。
invalid
2023-03-15 23:29:27 +08:00
游戏开发我觉得 rider 和 vs2019 比较好用
fengjianxinghun
2023-03-16 00:44:33 +08:00
@bestkayle 能用,我一直在用,要全局翻墙
lightjiao
2023-03-16 01:14:08 +08:00
Unity 游戏开发一枚,日常使用 VS2022 写 C# ,内存占用低,debug 体验好(有效性与准确性),大文件分析速度快,没有装任何 Extension
1. 主题我一直用默认的 dark ,不太熟其他的
2. 快捷键直接支持改 keymap ,我都改成 vscode 的 keymap 的
3. 自动补全我目前觉得是刚好能用,不至于 codpilot 那样烦,也不至于提示得完全不对,主要是 “采取” 与 “不采取” 的操作都方便

我觉得有一些其他体验不如 rider:
1. debug 想把变量以 json 的形式序列化,很麻烦,得要手动在命令行里敲代码
2. 没有内置 IL viewer
3. 一些操作提示的效果不如 rider 明显、方便
4. 窗口的悬停与布局总是很迷,至今都没有很懂
ShineyWang
2023-03-16 01:26:57 +08:00
@lightjiao debug 强推 ozcode 这个插件支持数据导出
cnbatch
2023-03-16 02:48:52 +08:00
我一直都不喜欢黑色主题,无论是 VS 还是 VSC 还是其他软件包括系统本身,看久了总觉得文字残影暂留在视网膜,转头看其他地方就觉得很不舒服。
可能是因为我喜欢整个房间都亮着,这种情况把屏幕调得暗成黑板或多或少都会造成视觉不适。
于是一直没遇到过颜色问题。

不过我也试过调成其他颜色模式,例如设成“深色”,并不会出现“改个黑色背景,字体是黑色的看不到”这种怪事,都是自动变成黑底亮字。

至于快捷键,它设在那就随它去吧,反正用来用去也就几个:
编译当前项目(CTRL+B)
编译整个大项目(CTRL+Shift+B)
自动排版(CTRL+SHIFT+K & F)
代码变注释(CTRL+SHIFT+K & C)
取消注释(CTRL+SHIFT+K & U)

然后还有调试功能的 F5 ,以及立即编译并执行但不调试(CTRL+F5)。

因为这几个很常用而其他很不常用,于是我就只记得住这几个,其他的组合快捷键从来记不住( CTRL+Home CTRL+End CTRL+Delete CTRL+PageUp CTRL+PageDown CTRL+A CTRL+C CTRL+V CTRL+X CTRL+Z CTRL+Y 这些不算数),懒得记,都是鼠标直接点菜单。

反正我觉得对于记不住的快捷键完全没必要理会,当作不存在就好,毕竟可以直接鼠标点菜单。手动去取消掉完全是浪费时间。任何编辑器和 IDE 我都是这样对待的,懒得给自己增添麻烦。

自动补全除了按回车,其实也可以用 TAB ,方向键选好需要的条目直接 TAB 就行。
除了小括号自动补全,选中一堆字然后按一下括号,自动给这堆字左右两侧添括号。这个功能是全新的,VS2019 及之前的版本都不会这样,我也还没习惯。

相比旧版本 Visual Studio ,我觉得 VS2022 最方便的是标签栏自动换行,打开的文件多了,切换起来很方便。
sl0000
2023-03-16 06:38:21 +08:00
@cnbatch 黑底白字对比度太高, ips 屏幕看起来确实很不舒服

我一般用屎色背景, 自带主题几乎没有这个颜色, 大概就是这几种颜色#ccd5ae #e9edc9 #fdf5c4 #f9ebc7
https://coolors.co/ccd5ae-e9edc9-fdf5c4-f9ebc7
klo424
2023-03-16 08:37:21 +08:00
11 年 C# 老 coder 表示,vs 我只装了 resharper 插件,其余基本都是默认配置,就这样用了 11 年吧!换别的 IDE 我还真用不惯,vscode 我都不爱用,只用它搞搞前端代码,谢谢文档之类的,更别提别家的产品了,那叫一个别手。
missdeer
2023-03-16 09:13:31 +08:00
vs 写 C++一定要装 vax 插件
另外,如果不是刚需调试器的话,不需要用 vs ,vscode+clangd 用得爽多了,其中 vscode 可以替换成任何支持 lsp 的代码编辑器,比如 Kate ,vim 等等
MCVector
2023-03-16 09:13:39 +08:00
@lightjiao Unity 和 VS 确实配合的挺好的。VS 调试应该是业界最好用的了。另外加上 Resharper 插件就更好用了。
idragonet
2023-03-16 09:21:33 +08:00
@klo424 #15 是的,VS2022+ReSharper YYDS!
idealhs
2023-03-16 09:28:11 +08:00
@lightjiao 这次的更新,Text Visualizer 可以解很多东西了,甚至 base64 ,你试试 json 是不是被 format 了
chrawsl
2023-03-16 09:44:03 +08:00
@bestkayle 我的反正可以用,配了个流量规则

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/924350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX