我知道Visual Studio可以自动格式化以使我的方法和循环正确缩进,但是我找不到该设置。
我知道Visual Studio可以自动格式化以使我的方法和循环正确缩进,但是我找不到该设置。
Answers:
格式化选择:Ctrl+ K,Ctrl+F
格式化文档:Ctrl+ K,Ctrl+D
请参阅预定义的键盘快捷键。(这两个是Edit.FormatSelection
和Edit.FormatDocument
。)
在OSX上,请使用以下CMD ⌘密钥Ctrl:
Format document is not available...
错误消息,请阅读:stackoverflow.com/q/8812741/1016891
对于Visual Studio 2010/2013/2015/2017
工具栏“ 编辑”->“高级”(如果看不到“ 高级”,请在解决方案资源管理器中选择一个代码文件,然后重试)
当我为C#编码进行设置时,您的快捷方式可能会有所不同,但是通过工具栏导航将使您进入您的快捷方式。
如果不起作用,请在代码中查找错误,例如缺少括号,这会阻止自动格式化
请按照以下步骤操作:
Tools
Options
Text Editor options
C#
举个例子。见下图:
我安装了一个名为“保存时格式化文档”的扩展名,该扩展名在每次保存时都会格式化整个文档。要在VS15或17中安装它,只需在工具上单击“扩展和更新...”:
希望对您有所帮助!
如果显示“ HTML源代码编辑”工具栏,则也有一个“设置整个文档格式”按钮
接受的答案中提供的解决方案不适用于Microsoft Visual Studio 2012。
对于VS2012,快捷方式为:
在VS 2017和2019中
格式文件为CTRL E + D。
但是...如果要将格式文档按钮添加到工具栏,请执行此操作。
右键单击工具栏。
选择“自定义”。
选择“命令”选项卡。
选择“工具栏”单选按钮。
从单选按钮旁边的下拉菜单中选择“文本编辑器”(或您想要在其上使用的工具栏)
现在...
点击Add Command按钮。
类别:编辑
命令:文档格式
单击OK
只是为了进一步说明Starwfanatic和Ewan的答案。您可以自定义IDE以将任何按钮添加到任何工具栏-这样就可以将“格式”按钮(如HTML Source Editing工具栏所具有的)添加到任何其他工具栏(例如,“文本编辑”,以及所有其他编辑控件,例如增加/减少缩进)。
单击工具栏右侧的箭头>添加或删除按钮>自定义...>命令选项卡>添加命令...按钮。
文档格式和选择格式都在“ 编辑”组下。
(在VS2010和VS2013中测试)
在VS 2019中,“代码清理”(RunDefaultCodeCleanup)更高级(取自ReSharper):Ctrl + K,Ctrl + E
Visual Studio中的自动格式设置
使用Continuous Formatting扩展名(由我开发的商业化),您键入时会真正自动格式化代码。
剪切/粘贴部分是另一种快速的方法(且易于记忆)。
如果您负担得起(或者您有资格获得30天免费试用),Jetbrains ReSharper可以重新格式化整个项目目录。
只需安装->右键单击目录->从上下文菜单中选择清除代码。
#include "stdafx.h"
#include <stdio.h>
int main(){
char filename[15];
printf("Enter file name:");
scanf("%s", filename);
Automat(filename);
freq(filename);
}
int Automat(char filename[]){
FILE*fp;
char c;
int state = 1;
int duma = 0;
fp = fopen(filename, "r");
if (fp == NULL){
printf("Error");
system("pause");
}
while (!feof(fp)){
c = fgetc(fp);
switch (state){
case 1:
if (c == '\t' || c == '\n' || c == ' '){
state = 3;
break;
}
case 2:
if (c >='A'|| c<='Z'){
break;
}
case 3: duma++;
state = 1;
break;
}
}
printf("Broq e : %d\n", duma);
return 1;
}
int freq(char filename[]){
FILE*fp;
char c;
int state = 1, sequence = 0;
fp = fopen(filename, "r");
if (fp == NULL){
printf("Error");
system("pause");
}
while (!feof(fp)){
c = fgetc(fp);
switch (state){
case 1:
if (c >= 'A' && c <= 'Z'){
state = 2;
break;
}
case 2:
if (c == '\t' || c == '\n'||c == ' '){
sequence++;
state = 1;
break;
}
}
}
printf("Sequence is : %d\n", sequence);
}