【氢氧酸】突然想把代码对齐了 = =||
c++吧
全部回复
仅看楼主
level 11
gameloftyou 楼主
就像下面这样,是不是蛋疼了我。。。。。
#include "stdafx.h"
#include <objidl.h>
#include <gdiplus.h>
#pragma comment(lib,"Gdiplus.lib")
using namespace Gdiplus;
void OnPaint(HDC hdc)
{
    Graphics graphics(hdc);
    Pen      pen(Color(255,0,0,255));
    graphics.DrawLine(&pen,0,0,200,100);
}
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    HWND                 hwnd;
    MSG                  msg;
    WNDCLASS             wndclass;
    GdiplusStartupInput  gdiplusStartupInput;
    ULONG_PTR            gdiplusToken;
    //Initialize GDI+.
    GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);
    wndclass.style       = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = WndProc;
    wndclass.cbClsExtra  = 0;
    wndclass.cbWndExtra  = 0;
    wndclass.hInstance   = hInstance;
    wndclass.hIcon       = LoadIcon(NULL,IDI_APPLICATION);
    wndclass.hCursor     = LoadCursor(NULL,IDC_ARROW);
    .............
}
2012年08月31日 14点08分 1
level 11
gameloftyou 楼主
有几个写代码这样做的,感觉很浪费时间[拍砖]
2012年08月31日 14点08分 2
level 11
gameloftyou 楼主
感觉这个应该可以写代码,自动处理吧。
2012年08月31日 14点08分 3
unix下有indent, vs好似ctrl_k, ctrl_d连续组合键
2012年08月31日 14点08分
回复 寒云似雾 :什么是连续组合键,按完ctrl+k再按ctrl+d么[揉脸]
2012年08月31日 15点08分
VIM Normal模式下输入 gg=G
2012年08月31日 15点08分
回复 NEMESIS_T2 :或者直接下个代码格式化工具 很无脑的...
2012年08月31日 15点08分
level 11
vs有个astyle的插件
2012年08月31日 15点08分 4
试试,感觉对齐的代码看着舒服些…
2012年08月31日 16点08分
level 11
2012年08月31日 15点08分 5
level 12
是不是有点强迫症……[睡觉]
2012年08月31日 16点08分 7
level 11
当对齐是起码的编程规范的时候...
2012年08月31日 16点08分 8
算了,还是不对齐了,等写完后,用插件处理一下以便日后查看…
2012年08月31日 16点08分
+1
2012年08月31日 16点08分
level 11
gameloftyou 楼主
@itianda AStyle也不行[揉脸]
我想要的效果是:
格式化前:
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
格式化后:
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;

2012年09月01日 03点09分 9
level 11
gameloftyou 楼主
汗,缩进没了,再来一次
@itianda 好像AStyle也不行
我想要的效果是:
格式化前:
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
格式化后:
    HWND                 hwnd;
    MSG                  msg;
    WNDCLASS             wndclass;
    GdiplusStartupInput  gdiplusStartupInput;
    ULONG_PTR            gdiplusToken;

2012年09月01日 03点09分 10
level 9
你可以用AStyle嘛。跑一下就对齐好了,另外你在VS中按Ctrl+F8也是可以的(要先Ctrl+A)
2012年09月01日 03点09分 11
我要的是楼上的效果[揉脸]
2012年09月01日 04点09分
回复 gameloftyou :这样啊,你可以用Tab来缩进,会快很多
2012年09月01日 04点09分
回复 jackchen2345 :嗯,现在用的就是tab,不过感觉这个可以写个插件来。。。
2012年09月01日 04点09分
level 7
跟汇编的对齐效果很像;
2012年09月01日 04点09分 12
level 11
这个可以除非写特定匹配 负责根本实现不了- -
比如特定匹配
HWND MSG WNDCLASS ... ... 类型的声明 前缀2tab 中间隔4tab
现有的代码调整程序应该没这功能
我觉得最可能的方法是在需要调整部分加入注释
//indent start: pretab=2 space=4
xxx xxx
xxx xxx
//indent end
然后自己写程序匹配//indent start/end 然后读取tab数量 然后添加空间...
2012年09月01日 04点09分 13
写注释就蛋疼了,那样还不如写的时候就对齐,我感觉如果能用程序识别出代码中的定义,声明(其实主要对齐的地方也就在这里,其它地方强制对齐的话,会丧失阅读性),把它们分成块,在每块中让所有的代码都和最长的那个对齐,就差不多了,如果能做到编译器那样牛逼的分析能力的话,做这个没多大问题
2012年09月01日 04点09分
回复 gameloftyou : 如果自己写对齐器也许这样可以! 比如双回车代表一个程序块 程序块里连接的变量声明作为一个声明块 然后对每一个声明块进行最长对齐 这主意不错啊 可以实现的
2012年09月01日 04点09分
回复 zzh8829 :嗯,这样的话实现起来简单些,不过最好还是能直接识别代码。
2012年09月01日 04点09分
level 7
sublime text 可以做到;
2012年09月01日 13点09分 14
没找到格式化选项,需要安装其他插件么?
2012年09月01日 14点09分
2012年09月01日 14点09分
看“对齐”;
2012年09月01日 14点09分
文章是mac下的;里面的command就是shift;
2012年09月01日 14点09分
level 12
mark
——来自 Windows Phone 客户端 v3.2
2012年09月01日 15点09分 15
level 12
mark[睡觉]
——来自 Windows Phone 客户端 v3.2
2012年09月01日 15点09分 16
1